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
Randy Mackay
2c906b7b27
OpticalFlow - replaced PI controller with PID controller.
...
Modified optical flow hold to use aggregated position instead of speed.
2012-01-25 21:55:14 +09:00
Jason Short
5cc19bbe7c
slightly less filtering for less latency
2012-01-21 22:04:54 -08:00
Jason Short
1aa6d0ea08
limiting the pitch throttle compensation
2012-01-21 11:59:49 -08:00
Jason Short
42b1362bba
cleanup
2012-01-20 22:52:30 -08:00
Jason Short
ed32ad30fd
Refined the D term for stabilize
...
moved all the rest_I terms from code into 1 central place
2012-01-20 22:52:29 -08:00
Jason Short
95ac9d163e
lowered Loiter I, commented out unused var
2012-01-14 11:20:40 -08:00
Jason Short
c02b403a06
temp removed alt D term until more testing
2012-01-14 11:20:40 -08:00
Jason Short
7c475f178c
tuned down Alt hold D gain
2012-01-13 09:36:51 -08:00
Jason Short
ee7c948781
Added simple constrain for Alt d term
2012-01-13 08:49:55 -08:00
Jason Short
4459fc4e34
Added a small D term on alt hold
2012-01-12 22:28:58 -08:00
Jason Short
f36aba8af2
climb rate control
2012-01-10 23:42:26 -08:00
Jason Short
7b8767d846
Added comments
2012-01-10 23:42:26 -08:00
Randy Mackay
f68d23d91e
ArduCopter - added ROLL_PITCH_STABLE_OF (i.e. Stabilised Roll/Pitch + adjustments based on optical flow)
...
Removed optical flow from regular loiter for now until it's tested.
2012-01-09 13:53:54 +09:00
Jason Short
8ed2d96396
removed unused var
2012-01-04 09:28:37 -08:00
Jason Short
4e0e783e7c
added Reset_Rate_I function
...
Removed I term from Throttle rate calc
Added some basic constrains to Acro
2012-01-04 09:28:37 -08:00
Jason Short
1ef7f9fe62
Loiter I reset
2011-12-31 09:45:25 -08:00
Jason Short
6a8391f0a7
removing I term clearance
2011-12-30 23:48:04 -08:00
Jason Short
21460a57ae
Yaw Performance tweaks
2011-12-29 23:02:03 -08:00
Jason Short
10abb7871e
removed loiter I from Reset Nav
2011-12-29 23:02:03 -08:00
Jason Short
d055763947
Added second order, filtered derivative in stabilize. Works much better than the non-filtered one I used to have.
2011-12-29 23:02:02 -08:00
Jason Short
79fff0f096
the second accel test is just for fun.
...
Filtered output for Nav_throttle
2011-12-23 14:42:50 -08:00
Jason Short
47e4c875e1
Cleanup
...
removed Iterm experiment - no noticeable effect in actual flight
2011-12-16 20:47:23 -08:00
Jason Short
3019c35364
turned off iterm for traverse
2011-12-15 20:51:41 -08:00