rmackay9
bdb47c449a
ArduCopter: pass linear altitude error to throttle rate controllers.
...
Previously the requested rate used the square root of the altitude error.
Scale pilot's desired vertical rate and acceleration based on ACCELERATION_MAX_Z and VELOCITY_MAX_Z #defines
2012-12-06 10:31:31 +09:00
rmackay9
7b4ed2d227
ArduCopter: restored landing detector to landing throttle mode.
...
Added LAND_SPEED parameter to control the rate of descent for the last 10m of a landing.
Added CH6 tuning for accel based throttle controller.
2012-12-06 10:31:20 +09:00
rmackay9
a94826f182
ArduCopter: add set_throttle_mode to better control initialisation of variables
2012-12-06 10:31:04 +09:00
rmackay9
1036b35128
ArduCopter: added back in angle boost and recombined for heli and multicopter
2012-12-06 10:30:55 +09:00
rmackay9
3cbef57c64
ArduCopter: first merge of leonard's accel based altitude controller plus other changes from Randy
...
Changes include:
New low-level get_throttle_accel function takes target acceleration and compares vs earth-frame Z accelerometer values to produce output to motors.
Higher level throttle controllers modified to call new get_throttle_accel controller
Throttle_rate_stabilized controller added which maintains a desired climb/descent rate
Throttle_land controller added - descends using normal auto throttle controller to 10m then descends at 50cm/s
Multiple throttle modes added including landing mode
Land flight mode no longer needs GPS
Throttle cruise maintenance moved to update_throttle_cruise function
2012-12-06 10:30:49 +09:00
Robert Lefebvre
1d589c0b7d
ACM: TradHeli
...
Fixes for Attitude rate controllers.
2012-12-04 14:42:04 -05:00
Robert Lefebvre
07d7d90882
ACM: TradHeli
...
Bringing in Low Pass Filter for Rate Controllers
2012-11-26 21:51:23 -05:00
Robert Lefebvre
3f0e8dd358
ACM: TradHeli
...
Bringing in Low Pas Filter
Commented out because it does not build.
Needs updates to Low Pass Filter Lib
2012-11-26 21:21:12 -05:00
Robert Lefebvre
e8d619acad
ACM: Begin creation of TradHeli rate control.
...
May affect Multi-Rotors.
2012-11-26 21:02:41 -05:00
Robert Lefebvre
95eeda7cf7
ACM: TradHeli
...
Removing Angle Boost function.
Does not make sense for helis due to aerodynamics. Can cause more problems than it solves.
2012-11-26 18:58:21 -05:00
Robert Lefebvre
6ffc115236
Changes to get_throttle_rate()
...
Commented out a bit of code that is not used currently
Change the output constrains to #defines so they can be easily changed, particularly for use in TradHeli.
2012-11-21 17:11:38 -05:00
rmackay9
07a7a1acd8
ArduCopter: replaced digitalRead and digitalWrite with faster calls
...
improved performance logging to dataflash
2012-11-19 01:16:07 +09:00
Jason Short
5f57678a9c
ACM Nav_throttle- removed sign inversion
2012-11-16 17:38:57 -08:00
rmackay9
ac5dcc8d49
ArduCopter: remove last remanants of rate_d to resolve compiler warning of unused variables
2012-11-12 12:35:58 +09:00
Jason Short
69db678252
ACM: attitude.pde - adjusted the FF of the alt hold algorithm, the old way was pretty crap. increased the output range of rate controller.
2012-11-11 18:22:54 -08:00
Jason Short
5ad38a32bf
ACM : Attitude : added nav param reset
2012-11-09 22:15:15 -08:00
Jason Short
3c78c4a7a3
ACM : Attitude.pde added ap bitfield for failsafe bit
2012-11-09 22:15:15 -08:00
Jason Short
a42c6bb609
ACM : Attitude.pde removed stabilize D
2012-11-09 22:15:15 -08:00
rmackay9
14cbe37d3e
ArduCopter: remove unused get_stabilize_rate_yaw
2012-11-07 23:28:25 +09:00
rmackay9
1f801714e8
ArduCopter: incorporate new version of inertial navigation
...
Moved several navigation functions from ArduCopter.pde to navigation.pde
2012-11-07 19:21:31 +09:00
rmackay9
a1b4ec6d0e
ArduCopter: move to use new INS library instead of IMU library
2012-11-07 19:21:09 +09:00
Jason Short
8a8ed7a711
ACM : Formatting
2012-10-28 12:12:38 -07:00
rmackay9
4877348c49
ArduCopter: remove some unhelpful constraints on nav_lat and nav_lon.
...
Increase other constraints from 3200 to 32000. These constraints are there to ensure int32_t do not cause an overflow when added to an int16_t.
2012-10-24 22:04:35 +09:00
rmackay9
5e8043fd9c
ArduCopter: changed ACRO_ROLL_STABILIZE and ACRO_PITCH_STABILIZE to parameters
...
Changes on behalf of Leonard Hall
2012-10-23 21:30:50 +09:00
Jason Short
a0752dc7dc
ACM Acceleration management
...
removed unused waypoint_radius var
removed slow_wp
updated speed management system to maintain a constant acceleration or deceleration of 1m/s
changed version to 2.8.1a
2012-10-21 14:32:39 -07:00
rmackay9
583f2e49a3
ArduCopter: integrated Leonard Hall's improved ACRO mode
2012-10-18 23:24:34 +09:00
rmackay9
b944d9df26
ArduCopter: bug fix in earthframe->body frame translation.
...
Provided by Leonard Hall.
Also removed large unnecessary comments.
2012-10-17 19:15:25 +09:00
rmackay9
5fbe53a84d
ArduCopter: bug fix for get_yaw_rate_stabilized_ef
...
Provided by Leonard Hall
2012-10-17 10:18:24 +09:00
LeonardTHall
d7b7e1cefa
New Yaw controller using rate feed forward and stabilize.
...
Signed-off-by: LeonardTHall <LeonardTHall@gmail.com>
2012-10-15 11:37:49 +09:00
rmackay9
997fe85880
ArduCopter: fixed acro mode
...
Changes included:
Removing earth frame roll_rate_trim, pitch_rate_trim and yaw_rate_trim.
Switch ACRO mode to use YAW_ACRO instead of YAW_HOLD.
Changed YAW_ACRO to use stabilize yaw when axis_enabled.
Reset ACRO roll, pitch and yaw targets to current attitude when first entering ACRO.
2012-10-14 17:47:46 +09:00
rmackay9
2848bb8ee6
ArduCopter: freeze I terms if motor limits breached
2012-10-11 17:20:00 +09:00
rmackay9
7cf60e61b4
ArduCopter: bug fix in earth-frame to body-frame conversion for roll
2012-10-07 19:14:40 +09:00
rmackay9
05fd04134a
ArduCopter: fix heli build
2012-10-06 13:46:19 +09:00
rmackay9
e375a27058
ArduCopter: prioritise rate controllers, rate controller targets converted to body frame
2012-10-03 14:10:31 +09:00
rmackay9
361ff0c08f
ArduCopter: allow PID logging of throttle. Make get_angle_boost actually use parameter passed in.
2012-09-18 23:19:23 +09:00
uncrustify
f783ace0de
uncrustify ArduCopter/Attitude.pde
2012-08-21 19:19:50 -07:00
Jason Short
0a25a189eb
ACM | Attitude.pde - removed next_wp.alt reset.
2012-08-18 12:25:48 -07:00
Jason Short
bc631b656e
ACM: Added a more sane limit to Angle boost
2012-08-18 09:04:21 -07:00
rmackay9
87d5b5944d
ArduCopter: commented out get_acro_yaw2 function to reduce compiler warnings
2012-08-18 16:03:49 +09:00
rmackay9
92688a793a
ArduCopter: fixed compiler warning related to shadowing of control_roll and control_pitch in get_of_roll and get_of_pitch.
2012-08-18 11:48:12 +09:00
Jason Short
9cee1b2fa0
ACM : Upped Yaw Limit to 2200
2012-08-16 15:38:46 -07:00
rmackay9
36f947acb9
ArduCopter: changed all "int" to "int16_t" and a few "long"s to "int32_t".
...
Also moved "simple_counter" variable from global scope to the "update_simple_mode" function which is the only place that it's actually used.
2012-08-16 20:04:46 +09:00
rmackay9
a72bf6ef57
ArduCopter: replaced abs with labs as required in a few places.
...
Also fixed a small bug in the get_stabilize_pitch function in which it was using the roll (instead of pitch) to decide whether it should let the i term build-up or not.
2012-08-16 17:51:09 +09:00
Jason Short
3ad08b7ffc
ACM : Added larger WP radius for fast waypoints so we don't loose speed angling in on the WP at the last second.
2012-08-10 10:02:32 -07:00
Jason Short
132ac7d412
ACM : attitude.pde - removed unused function
2012-08-09 17:04:12 -07:00
Jason Short
5d756decd2
ACM : Attitude.pde
...
yaw limit, moved toy code out of att to it's own pre
2012-08-09 16:59:43 -07:00
Jason Short
8c47b0c087
ACM: Toy mode fix - Pitch flipped the sign on roll/Yaw coupling.
2012-07-30 15:43:05 -07:00
Jason Short
613849a8df
Arducopter: Force nav_yaw to match auto_yaw when starting a mission
2012-07-19 22:59:03 -07:00
Jason Short
610d1d1795
Arducopter: deprecated the get_nav_yaw_offset function.
...
Small Toy mode updates
2012-07-19 17:41:52 -07:00
Jason Short
aa645afe2b
Arducopter: Altitude change nav
...
Split altitude hold into two controls to parallel navigation.
2012-07-18 22:57:10 -07:00
Jason Short
584e7dcda4
Arducopter: Removed Yaw Limit for Quads
2012-07-14 14:06:34 -07:00
Jason Short
44b16b7b61
Arducopter: Temp reversion to old Yaw controller.
2012-07-14 12:26:13 -07:00
Robert Lefebvre
59e133235f
Implementing Yaw Fix. Tried to blend with Jason's changes.
2012-07-14 00:24:22 -04:00
Jason Short
6f9e2bf3a8
Arducopter: Toy mode update
...
Removed debugging printfs,
lowered roll response - was too high in test flights
made roll limit 2500 for testing
2012-07-11 17:46:06 -07:00
Jason Short
1feaaa4655
Arducopter: Toy mode refinements
2012-07-10 21:53:38 -07:00
Jason Short
226bba48a6
Toy Mode Yaw Rate fix
2012-07-09 13:13:32 -07:00
Jason Short
c62706ad06
Toy Mode: Yaw performance update.
2012-07-03 17:14:54 -07:00
Jason Short
16b25a26c2
Toy Mode: removed virtual WP, copter now just goes into auto_loiter when not holding the sticks.
2012-07-02 17:52:38 -07:00
Jason Short
e0b3309500
Yaw mode:
...
Improved hybrid Yaw mode:
- uses rate controller rather than as fast as possible
- waits 1.5 seconds before entering hold
- bounce free
2012-07-01 13:40:12 -07:00
Jason Short
3ce867508b
Attitude.pde: Toy mode logic
2012-06-29 21:20:27 -07:00
Jason Short
eeab4c5363
Attitude.pde: Turned off boost_p for nav_throttle based on Testing feedback from Marco.
2012-06-26 10:39:42 -07:00
Jason Short
812bf7d874
Attitude.pde - Added small boost to alt hold for takeoff.
2012-06-25 23:12:19 -07:00
Robert Lefebvre
1064dcbd34
Open up constraint on Rate Yaw Output for all copters.
2012-06-22 10:06:01 -04:00
Jason Short
27e0aee03f
Small fix to angle boost - increases by about 20% to deal with inefficiencies of non-downward thrust
2012-06-20 08:47:47 -07:00
Jason Short
c42f9ece43
Inertial Control
...
I added inertial navigation based on the simulator data. This is an option only available if you compile with Arduino and set
#define INERTIAL_NAV ENABLED
in the APM_Config.h file.
This has been tested for one real flight and did not crash my quad, but consider it very alpha. The quad may be unpredictable at first until the error correction fixes poorly calibrated accels. Be Careful.
Most of the real work is in the inertia file, but the error correction, new variable defines and calibration calls are sprinkled throughout.
The Log should record RAW messages with special debugging values.
2012-06-13 22:34:45 -07:00
rmackay9
65050775e1
ArduCopter: made Robert's new yaw method optional (off by default).
...
Add this line to APM_Config.h to enable Robert's yaw
#define ALTERNATIVE_YAW_MODE ENABLED
2012-06-13 21:50:16 +09:00
Robert Lefebvre
c5916a8b4d
Opening up the Yaw Rate constraint for Trad Heli.
2012-06-07 22:40:25 -04:00
Robert Lefebvre
e2496181ff
Yaw Fix
...
Modified Nav_Yaw controller to better track intended heading changes.
2012-06-07 17:15:33 -04:00
Jason Short
a9610a0761
Stabilization patches
...
removed Angle error limit for stabilization
constricted Iterm to +- 5° error and limited the implementation to when the quad is +- 5° from center
doubled the output limit for Rate controller.
increased default Rate_P gain to .18 with matching Rate_D of .004
Tested in the SIM and in backyard. dramatically increases performance and quad no longer overshoots and flips when pushed hard.
2012-06-05 16:41:44 -07:00
Jason Short
9ab06c5542
Moved PID logging counter into define
2012-06-03 11:13:50 -07:00
Jason Short
2311d52d37
Renamed some variables to clarify functionality.
2012-05-29 12:42:37 -07:00
Jason Short
1a5e2f4e37
Attitude.pde - Removed rate limit based on SIM flights. These should never have been in place and seriously detriment Acro flight.
2012-05-21 09:58:23 -07:00
rmackay9
533772339e
ArduCopter - Attitude.pde - added logging of optical flow pid controller
2012-04-21 20:17:12 +09:00
rmackay9
df85051574
ArduCopter - added dataflash logging of roll and pitch rate controllers
2012-04-08 10:19:20 +09:00
rmackay9
aa4085183c
ArduCopter - Attitude.pde - moved heli_get_angle_boost from heli.pde (which will be removed) to Attitude.pde. In fact we should combine heli_get_angle_boost and the regular get_angle_boost.
2012-04-04 22:51:39 +09:00
Andrew Tridgell
e0c9ab5a29
ACM: fixed heli build
2012-03-27 15:37:25 +11:00
Andrew Tridgell
47f9dfd125
ACM: fixed the build on the 1280
2012-03-27 15:37:24 +11:00
rmackay9
1f4cfb9333
ArduCopter - added PID log type. Implemented for Yaw stabilize and rate controllers.
2012-03-25 16:09:08 +09:00
Andrew Tridgell
547b4ed55b
AHRS: adapt ArduCopter for new AHRS framework
2012-03-19 17:29:02 +11:00
Jason Short
a0717f082e
ACM: Attitude.pde - consolidated wind I term resets
2012-03-18 22:31:21 -07:00
Jason Short
fc32da0d2e
ACM: increased the available rate error constrain, it was too low
2012-03-10 12:39:16 -08:00
Jason Short
bd4835a1b2
ACM: removed the experiment for rate error.
2012-03-10 12:38:29 -08:00
Jason Short
730476fdfd
ACM -
...
Implemented automatic ranging of Alt Hold gains. Works well in simulator and testing.
- alt hold estimation moved to 50 hz
- simple fixed observer calc for smooth and accurate climb rates useful for derivative calcs
- auto-reset of the I term by moving I value into throttle value. This recalcs the gain every 20seconds for battery drainage compensation in long flights.
- remove filtering for Nav_throttle
- added a way to lower the gain on nav_throttle for descents by / climb_rate error by 2 - seems to work OK and keeps copter from dropping like a rock when the Baro drifts quickly lower.
- removed old throttle hold set point code
- made throttle override for alt hold +- 200 vs 250
2012-03-06 22:22:14 -08:00
Jason Short
a387956814
added stab_d gain scheduling
2012-02-28 20:16:40 -08:00
rmackay9
744e5b8c60
ArduCopter - made rate controller filters globals to fix compiler error on Arduino 022 (Arduino 1.0 was fine)
2012-02-28 22:56:26 +09:00
rmackay9
4a0989f95d
ArduCopter - Attitude.pde - updated get_rate_roll and get_rate_pitch to use new average filter.
...
modified all int to int16_t in Attitude.pde
2012-02-28 21:26:37 +09:00
Jason Short
1ce267f904
increased the rate error for more responsive alt hold
2012-02-25 13:31:21 -08:00
rmackay9
57e5eee8c8
TradHeli - increase max yaw input to 45 degrees
2012-02-24 20:18:40 +09:00
Jason Short
364afe8da0
added a constraint to D term
2012-02-23 09:14:44 -08:00
Jason Short
265c5255a3
Added slow_wp default in AP mode
2012-02-19 13:15:40 -08:00
Jason Short
5218220f0f
re-implemented WII Dampening filter for Marco.
2012-02-16 22:38:23 -08:00
Jason Short
632cc783a1
cast D term to float just in case
2012-02-16 22:09:21 -08:00
Jason Short
3d63bb6cd4
Added acro_p to the params
2012-02-15 11:29:25 -08:00
Jason Short
fcb24ee17d
Added Acro_P
2012-02-15 09:10:14 -08:00
Andrew Tridgell
3b4cae3cc3
adapted main ACM code for AP_Param
2012-02-13 16:22:52 +11:00
Jason Short
c64d781dce
get_acro_yaw added
2012-02-10 22:32:55 -08:00
Jason Short
f40d40b0f9
Acro fix - we had lost the scaling of Acro mode in 2.1. This restores that.
2012-02-09 22:22:00 -08:00
Randy Mackay
b851d39eaa
OptFlow - reenable OF_LOITER pid controller and reduce I term
2012-02-01 08:04:18 +09:00
Jason Short
bf2cc6072d
limiting alt hold rate error to 1m/s
2012-01-29 17:08:34 -08:00
Jason Short
7833cea9d4
2.2B6 - Please verify Heli still functions properly.
...
Added AC_PID lib
Updated landing code
bug fixes
2012-01-28 22:00:05 -08:00