Commit Graph

253 Commits

Author SHA1 Message Date
Robert Lefebvre c6537ae6e3 ACM: Code Cleanup 2012-12-08 14:49:38 -05:00
rmackay9 90f9b8c076 ArduCopter: remove debug related to yaw mode used for alt hold 2012-12-08 14:24:50 +09: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 b973d50d79 ArduCopter: remove some unused #defines 2012-12-07 15:17:35 +09:00
rmackay9 5c3ca64c12 ArduCopter: add dataflash logging of camera events 2012-12-07 00:57:08 +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 b26f2861ff ArduCopter: removed unused AUTO_THROTTLE_HOLD #define 2012-12-06 10:31:15 +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
Andrew Tridgell 45e62add9f Copter: update ArduCopter for new ins interface 2012-11-30 07:15:18 +11:00
Robert Lefebvre c78ecc4fd1 ACM: Creating Yaw_Look_Ahead yaw mode.
This function is not fully tested yet.
2012-11-26 21:37:13 -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
Andrew Tridgell fc72b86304 SITL: disable optical flow on the desktop build
it doesn't work yet, as no sensor emulator is available
2012-11-19 09:04:03 +11:00
rmackay9 38fdacd93b ArduCopter: replaced digitalRead and digitalWrite with faster calls
improved performance logging to dataflash
2012-11-19 01:16:07 +09:00
rmackay9 3a4d122e32 ArduCopter: low baterry failsafe 2012-11-15 23:35:41 +09:00
Jason Short a6bda80064 ACM: Allow for user defined roll and pitch input max 2012-11-11 18:00:10 -08:00
rmackay9 41c0cee292 ArduCopter: failsafe improvements
resolves momentary throttle drop to zero before failsafe engages
resolves motor cut after 30seconds if flying in stabilize without GPS (now switches to ALT_HOLD with target altitude zero)
disables motors if throttle was zero before failsafe event
2012-11-11 22:11:12 +09:00
Jason Short f17c63062e ACM crosstrack min distance 2012-11-09 22:15:16 -08:00
Jason Short 81b1ebd011 ACM: Added max RTL altitude 2012-11-09 22:15:15 -08: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
Jason Short 1e35d3d534 ACM: config.h cleanup
Added LOG_ITERM default to enabled
2012-10-27 09:59:57 -07: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
rmackay9 7fb58fce87 ArduCopter: replace Serial.print with Serial.print_P to save memory.
Includes replacing flight_mode_strings with print_flight_mode function.
SendDebug macro replaced with direct Serial.print_P calls.
2012-10-22 16:45:24 +09:00
Robert Lefebvre 9a20fe32fa Fixed that last commit
#define Stupid_Mistake
2012-10-18 16:50:42 -04:00
Robert Lefebvre 5f8f53ec0a Changed RLT Yaw Mode for TradHeli. Also a few comment cleanups. 2012-10-18 16:39:05 -04:00
rmackay9 3b631f1edd ArduCopter: integrated Leonard Hall's improved ACRO mode 2012-10-18 23:24:34 +09:00
rmackay9 3a26606510 ArduCopter: reduced optical flow's I and IMAX terms 2012-10-17 17:47:43 +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 ee41f3be6c ArduCopter: enable ACRO mode's AXIS_LOCK by default 2012-10-14 19:50:45 +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 71c773801a ArduCopter: added BATT_VOLT_PIN and BATT_CURR_PIN parameters to allow support for new 3DR IV battery voltage and current monitor 2012-10-13 18:40:46 +09:00
Robert Lefebvre 8e19e7d0b2 Added #define for Tilt_Compensation.
Also added some detail to WP_Speed_Max parameter.
2012-10-12 14:51:31 -04:00
rmackay9 a5feda6b1f ArduCopter: set default rate roll and pitch I terms to 0.010, and rate yaw to 0.015
Updated after discussing with Marco
2012-10-11 17:25:01 +09:00
rmackay9 94d16d426f ArduCopter: move I terms from stabilize to rate controllers 2012-10-11 17:20:05 +09:00
rmackay9 c2b9c695b4 ArduCopter: reduce Stabilize Yaw P term to 4.5 2012-10-03 14:19:49 +09:00
rmackay9 770aa0b56b ArduCopter: BATT_PIN parameter added to allow you to select which pin is used for voltage and current measurements
To save a parameter, the current sensor pin is assumed to always be 1 higher than the voltage pin.
2012-10-02 22:16:19 +09:00
rmackay9 fc4f4d76c9 ArduCopter: allow DMP to run in parallel with DCM
Parallel DMP can be enabled by #define SECONDARY_DMP_ENABLED in APM_Config.h
New DMP dataflash log type added to allow easy comparison with DCM
2012-09-30 00:25:40 +09:00
rmackay9 4bca609b9f AP_InertialSensor_MPU6000: replaced _cs_pin parameter with #define and saved 1 byte of memory
Updated ArduCopter, ArduPlane and example sketches in AP_InertialSensor, AP_IMU and AP_AHRS libraries because they no longer need to pass in cs_pin to the constructor
2012-09-28 19:21:59 +09:00
rmackay9 08f203a991 ArduCopter: reduced Loiter Rate I to 0.04 (was 0.08) 2012-09-25 19:08:31 +09:00
rmackay9 15893e719a ArduCopter: increase default Loiter Rate P to 5.0 2012-09-25 12:19:44 +09:00
rmackay9 54d07f6d04 ArduCopter: removed INSTANT_PWM from ArduCopter and AP_Motors library 2012-09-13 21:31:13 +09:00
rmackay9 4e85e545bf ArduCopter: added NUM_IMU_SAMPLES_FOR_XYZHZ definitions for MPU6000 and Oilpan to allow more syncing of the mainloop with the arrival of data from the IMU. 2012-09-10 11:37:48 +09:00
Craig Elder c83d1402fb Arducopter: Release 2.7.2 2012-08-31 19:18:10 -07:00
Andrew Tridgell 0b2cbbb677 ACM: added TELEM_DELAY to ArduCopter 2012-08-30 09:03:01 +10:00
Craig Elder 3403e1b78d Arducopter: increased MAVLINK delay to 6s to reduce the chance of xBee bricking
Arduplane:  increased MAVLINK delay to 6s to reduce the chance of xBee bricking
Ardurover:  increased MAVLINK delay to 6s to reduce the chance of xBee bricking
2012-08-28 20:09:10 -07:00
rmackay9 4978e0c23f ArduCopter: increased Stabilize Roll and Pitch I term to 0.05 (was 0.01) based on feedback from Jason 2012-08-29 11:34:53 +09:00
rmackay9 ccc659e8a9 ArduCopter: reduced Rate Roll and Pitch PID values
RATE_ROLL_P, RATE_PITCH_P reduced to 0.165 (was 0.185)
RATE_ROLL_D, RATE_PITCH_D reduced to 0.004 (was 0.008)
2012-08-26 10:45:45 +09:00
uncrustify ad1f20924d uncrustify ArduCopter/config.h 2012-08-21 19:19:50 -07:00