Commit Graph

181 Commits

Author SHA1 Message Date
rmackay9 ff9902c5d6 ArduCopter: updated accel based throttle to use ahrs's get_accel_ef method
Also removed slow low pass filter meant to correct for accelerometer calibration.  This is no longer required now that we have the improved calibration method.
2012-12-12 16:29:46 +09:00
rmackay9 628fb1da15 ArduCopter: fix Failed to Init Optflow message at startup 2012-12-11 00:09:45 +09:00
rmackay9 93fa3fbc69 ArduCopter: added ACRO_TRAINER parameter to allow enabling/disabling the acro training function which will bring the roll back to within +- 45 degrees 2012-12-10 22:27:46 +09:00
rmackay9 b65f050b8a ArduCopter, AP_InertialNav: consolidated ThirdOrderComplementaryFilter into AP_InertialNav to save about 200bytes of RAM 2012-12-10 00:43:11 +09:00
Robert Lefebvre 083c451ec6 ACM: TradHeli
Fix to make update_throttle_cruise work with stab_throttle scaling.
2012-12-08 15:12:39 -05:00
Robert Lefebvre c6537ae6e3 ACM: Code Cleanup 2012-12-08 14:49:38 -05:00
rmackay9 f62c377062 ArduCopter: auto yaw changes to allow pilot override of yaw during missions
Added set_yaw_mode to better control of yaw controller changes and variable initialisation.
Replaced AUTO_YAW mode with separate yaw controllers YAW_LOOK_AT_NEXT_WP, YAW_LOOK_AT_LOCATION, YAW_LOOK_AT_HEADING.
Pilot manual override of yaw causes yaw to change to YAW_HOLD (i.e. manual yaw) until next waypoint is reached.
Added get_yaw_slew function to control how quickly autopilot turns copter
Changed YAW_LOOK_AHEAD to use GPS heading and moved to new get_look_ahead_yaw function in Attitude.pde
Renamed variables: target_bearing->wp_bearing, original_target_bearing->original_wp_bearing.
Removed auto_yaw_tracking and auto_yaw variables and update_auto_yaw function as they are no longer needed.
Simplified MAV_CMD_CONDITION_YAW handling (do_yaw).  We lose ability to control direction of turn and ability to do long panorama shots but it now works between waypoints and save 20bytes.
2012-12-08 14:23:32 +09:00
rmackay9 c734a42e15 ArduCopter: adjusted pid_throttle_accel dt to 0.01 (100hz) 2012-12-06 10:32:12 +09:00
rmackay9 bdf236ef38 ArduCopter: allow accel based throttle controller to be enabled/disabled with the new THR_ACC_ENABLE parameter.
When disabled the original velocity based throttle controller is used.
2012-12-06 10:31:57 +09:00
rmackay9 9750c14325 ArduCopter: RTL clean-up and slightly improved landing sensor
Consolidated RTL state to be captured by rtl_state variable.
Combined update_RTL_Nav and verify_RTL functions which performed the same function but one was for missions, the other for the RTL flight mode.
Renamed some RTL parameters and global variables to have RTL at the front.
Landing detector now checks accel-throttle's I term and/or a very low throttle value
2012-12-06 10:31:52 +09:00
rmackay9 eb3ad15843 ArduCopter: allow INERTIAL_NAV to be enabled separately for horizontal and vertical position 2012-12-06 10:31:41 +09:00
rmackay9 8a0faebb21 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 dc0b35da30 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 e629fe2eb0 ArduCopter: add set_throttle_mode to better control initialisation of variables 2012-12-06 10:31:04 +09:00
rmackay9 1285198b71 ArduCopter: added back in angle boost and recombined for heli and multicopter 2012-12-06 10:30:55 +09:00
rmackay9 c1ce0ae752 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 5863c737a1 ACM: TradHeli
Fixes for Attitude rate controllers.
2012-12-04 14:42:04 -05:00
Robert Lefebvre 4463150122 ACM: TradHeli
Bringing in Low Pass Filter for Rate Controllers
2012-11-26 21:51:23 -05:00
Robert Lefebvre 332b728ebf 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 a4ae24de6c ACM: Begin creation of TradHeli rate control.
May affect Multi-Rotors.
2012-11-26 21:02:41 -05:00
Robert Lefebvre 311d190494 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 211f964553 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 38fdacd93b ArduCopter: replaced digitalRead and digitalWrite with faster calls
improved performance logging to dataflash
2012-11-19 01:16:07 +09:00
Jason Short ab215838a6 ACM Nav_throttle- removed sign inversion 2012-11-16 17:38:57 -08:00
rmackay9 702dd1fb2e ArduCopter: remove last remanants of rate_d to resolve compiler warning of unused variables 2012-11-12 12:35:58 +09:00
Jason Short 27a41c294b 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 d527d19635 ACM : Attitude : added nav param reset 2012-11-09 22:15:15 -08:00
Jason Short 9b295ca7cf ACM : Attitude.pde added ap bitfield for failsafe bit 2012-11-09 22:15:15 -08:00
Jason Short 9b16fdf182 ACM : Attitude.pde removed stabilize D 2012-11-09 22:15:15 -08:00
rmackay9 499bdc1385 ArduCopter: remove unused get_stabilize_rate_yaw 2012-11-07 23:28:25 +09:00
rmackay9 af40201b14 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 0868917ff4 ArduCopter: move to use new INS library instead of IMU library 2012-11-07 19:21:09 +09:00
Jason Short 210148a432 ACM : Formatting 2012-10-28 12:12:38 -07:00
rmackay9 e780bfd4c1 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 ab86eae860 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 96f0a32cd3 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 3b631f1edd ArduCopter: integrated Leonard Hall's improved ACRO mode 2012-10-18 23:24:34 +09:00
rmackay9 25b3acab8c 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 7787bb4fd5 ArduCopter: bug fix for get_yaw_rate_stabilized_ef
Provided by Leonard Hall
2012-10-17 10:18:24 +09:00
LeonardTHall 4203655646 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 254fff6acd 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 be25e75d75 ArduCopter: freeze I terms if motor limits breached 2012-10-11 17:20:00 +09:00
rmackay9 f88ca4b7e4 ArduCopter: bug fix in earth-frame to body-frame conversion for roll 2012-10-07 19:14:40 +09:00
rmackay9 ae447ad6b6 ArduCopter: fix heli build 2012-10-06 13:46:19 +09:00
rmackay9 a35543bf96 ArduCopter: prioritise rate controllers, rate controller targets converted to body frame 2012-10-03 14:10:31 +09:00
rmackay9 69c29f5196 ArduCopter: allow PID logging of throttle. Make get_angle_boost actually use parameter passed in. 2012-09-18 23:19:23 +09:00
uncrustify f8b7fdf7bb uncrustify ArduCopter/Attitude.pde 2012-08-21 19:19:50 -07:00
Jason Short 5684934989 ACM | Attitude.pde - removed next_wp.alt reset. 2012-08-18 12:25:48 -07:00
Jason Short 5bbde052ba ACM: Added a more sane limit to Angle boost 2012-08-18 09:04:21 -07:00
rmackay9 310ce05dc2 ArduCopter: commented out get_acro_yaw2 function to reduce compiler warnings 2012-08-18 16:03:49 +09:00