Commit Graph

1769 Commits

Author SHA1 Message Date
rmackay9 8c2423f618 ArduCopter: code clean-up. Changed update_nav_wp to use a switch statement and relocated to navigation.pde 2012-12-09 15:24:19 +09:00
rmackay9 b36eb406d4 ArduCopter: allow alt hold to be engaged with alt < 1m because sometimes we get baro drift.
Also initialisation of target altitude is done in set_throttle_mode function.
2012-12-09 14:48:01 +09:00
rmackay9 b4e5176e2a ArduCopter, AP_InertialSensor: restore mpu6k sample rate to 200hz but keep default filtering at 42hz. 2012-12-09 14:27:33 +09:00
Robert Lefebvre aa4d4f8c24 ACM: Adding Pre-Compiler Define for Stabilize Throttle Mode. 2012-12-08 20:41:05 -05:00
Robert Lefebvre 0eb57bf93d ACM: TradHeli
Fix to make update_throttle_cruise work with stab_throttle scaling.
2012-12-08 15:12:39 -05:00
Robert Lefebvre 1b97a92098 ACM: Code Cleanup 2012-12-08 14:49:38 -05:00
rmackay9 f98a807d36 ArduCopter: remove debug related to yaw mode used for alt hold 2012-12-08 14:24:50 +09:00
rmackay9 9dd978576b 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 85c8bdce15 ArduCopter: removed unused and out-of-date #defines from APM_Config.h 2012-12-08 13:38:39 +09:00
rmackay9 68ca123224 ArduCopter: remove some unused #defines 2012-12-07 15:17:35 +09:00
rmackay9 99b32a39c4 ArduCopter: InertialNav time constant CH6 tuning changed to only update enabled axis 2012-12-07 13:01:40 +09:00
rmackay9 cca9f9dbce ArduCopter: do_set_servo fix to resolve -1 being assigned to uint8_t 2012-12-07 12:58:44 +09:00
rmackay9 3a90fc77f9 ArduCopter: add dataflash logging of camera events 2012-12-07 00:57:08 +09:00
rmackay9 d74cf54b5d ArduCopter: allow triggering of camera from a mission 2012-12-06 23:48:30 +09:00
rmackay9 d3de77f74c ArduCopter: fix do_set_servo so that it works again 2012-12-06 20:18:33 +09:00
rmackay9 653535b9a1 ArduCopter: added CH7 option to trigger camera
Restructured reading of channel 7 into a switch statement.
2012-12-06 17:47:01 +09:00
rmackay9 4ca27defb3 ArduCopter: update comments related to CH7 switch options 2012-12-06 17:40:36 +09:00
rmackay9 75401756f2 ArduCopter: maintain loiter control even below 1m while landing 2012-12-06 12:40:53 +09:00
rmackay9 2dd4694eef ArduCopter: adjusted pid_throttle_accel dt to 0.01 (100hz) 2012-12-06 10:32:12 +09:00
rmackay9 269e02ee93 ArduCopter: bug fix - initialise inertial nav 2012-12-06 10:32:07 +09:00
rmackay9 8d682b9812 ArduCopter: disable INERTIAL_NAV_XY by default 2012-12-06 10:32:02 +09:00
rmackay9 39d524212f 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 a5bb54e36e 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 6da07ef1d2 ArduCopter: increase CONTROL_SWITCH_COUNTER so that flight mode switch must be changed for at least 1/10th of a second 2012-12-06 10:31:46 +09:00
rmackay9 072ffec493 ArduCopter: allow INERTIAL_NAV to be enabled separately for horizontal and vertical position 2012-12-06 10:31:41 +09:00
rmackay9 aa5e7e63a0 ArduCopter: switch on INS in APM_Config.h (i.e. on by default for users uploading through Arduino IDE) 2012-12-06 10:31:36 +09:00
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 d7f76ebd87 ArduCopter: add tuning of throttle rate controller's I term (THROTTLE_KI) 2012-12-06 10:31:25 +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 560bb1d738 ArduCopter: removed unused AUTO_THROTTLE_HOLD #define 2012-12-06 10:31:15 +09:00
rmackay9 7035529953 ArduCopter: remove unused get_desired_climb_rate function 2012-12-06 10:31:09 +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 8c18a60766 ACM: Small fix to Yaw Look Ahead 2012-12-04 14:50:14 -05:00
Robert Lefebvre 1d589c0b7d ACM: TradHeli
Fixes for Attitude rate controllers.
2012-12-04 14:42:04 -05:00
Robert Lefebvre 5723021be1 ACM: TradHeli
Creating Rate Feed-Forward Parameters
2012-12-04 13:47:38 -05:00
Robert Lefebvre 3e65dd3ded ACM: TradHeli APM_Config.h changes 2012-12-04 13:32:40 -05:00
Robert Lefebvre 315a7e8000 ACM: Yaw Look Ahead Changes 2012-12-04 13:26:41 -05:00
Robert Lefebvre 9130045298 ACM: Code Cleanup 2012-11-30 17:05:12 -05:00
rmackay9 8141f0b600 ArduCopter: bug fix - increase mpu6k sample rate to 100hz 2012-11-30 23:49:18 +09:00
Andrew Tridgell 6fbf5ec8f2 Copter: update ArduCopter for new ins interface 2012-11-30 07:15:18 +11:00
Michael Oborne 68aa5e4682 AC add ability to start new accel_scale via mavlink 2012-11-28 21:38:58 +08:00
Andrew Tridgell 2949d58b71 Copter: re-enable sending of GLOBAL_POSITION_INT message
this gives important raw GPS velocity information, plus relative and
absolute height
2012-11-28 11:26:19 +11:00
Robert Lefebvre 07d7d90882 ACM: TradHeli
Bringing in Low Pass Filter for Rate Controllers
2012-11-26 21:51:23 -05:00
Robert Lefebvre 6b8c39dd10 ACM: Creating Yaw_Look_Ahead yaw mode.
This function is not fully tested yet.
2012-11-26 21:37:13 -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 6b1fee767a ACM: TradHeli
Creating Stab_Collective Function to allow for different collective ranges between Stabilize and other modes.
This makes for a smoother collective action in Stabilize mode with manual throttle, while still allowing full collective travel in Acro and other modes.
2012-11-26 19:37:20 -05:00
Robert Lefebvre 9e45e906fb ACM: TradHeli
Move some TradHeli #defines into one place in APM_Config to clean up config.h and defines.h
2012-11-26 19:09:55 -05:00
Robert Lefebvre b32d7c8b63 ACM: TradHeli
Prevent helis from arming while RSC control is switched on.
2012-11-26 19:03:28 -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 8056b78c55 ACM: TradHeli
Remove Rate I-term reset when throttle stick is on the bottom.  This could be very bad for helis since it's plausible to use full downstick while flying.
There is obviously a risk here of building up a false I-term on the ground but this isn't a good solution for that anyway.
Also removed what appears to be some deadwood.
2012-11-26 18:49:24 -05:00
Robert Lefebvre 637c9a1a72 ACM: TradHeli
Removing this "throttle" output restriction for TradHelis.
2012-11-26 18:44:03 -05:00
Andrew Tridgell 5818aaad42 Copter: fixed build error
thanks to Marco for pointing this out
2012-11-24 20:39:35 +11:00
Andrew Tridgell f6ec932d63 Copter: added reboot in CLI and over MAVLink
useful for getting out of CLI
2012-11-24 18:20:37 +11:00
Andrew Tridgell cd07d965a7 Copter: ported RSSI_PIN option from ArduPlane
this is useful for OSD users
2012-11-22 20:59:33 +11:00
rmackay9 3372355e07 ArduCopter: remove commented out remnants of roll_scale_d and pitch_scale_d 2012-11-22 12:50:39 +09:00
rmackay9 eb6d8fca57 ArduCopter: added ReleaseNotes.txt 2012-11-22 09:51:04 +09: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
Andrew Tridgell dbdb3e1194 ACM: allow fetch of parameters by index
this makes it more efficient to re-fetch parameters that are missing
2012-11-22 00:16:57 +11:00
Andrew Tridgell bcae83c4f6 ACM: make it possible to run CLI on radio port in ArduCopter 2012-11-21 21:41:34 +11:00
Andrew Tridgell 704da2a5d9 MAVLink: make it possible to enter the CLI over the radio
this only works on the APM2, where UART0 is also the radio port
2012-11-21 14:11:05 +11:00
Michael Oborne a5e3ce4655 remove cli planner mode - no longer used 2012-11-21 07:45:45 +08:00
Michael Oborne 0c84b8abf1 fix unit max. and unit type 2012-11-21 07:42:53 +08:00
Andrew Tridgell bcf740a82f ACM: support 16 character parameter names 2012-11-20 21:38:58 +11:00
Andrew Tridgell c008ca7560 ACM: fixed documentation of disabling voltage/current pins for ArduCopter 2012-11-20 20:26:14 +11:00
Andrew Tridgell 69fbcc8683 MAVLink: fixed accel and gyro sensor offsets in MAVLink 2012-11-20 18:32:26 +11:00
rmackay9 810da878e7 ArduCopter: performance monitoring - changed loop counters to uint16_t.
Removed an unused items from dataflash logging of Performance.
2012-11-19 11:55:47 +09:00
Andrew Tridgell dafaa2efc8 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
Andrew Tridgell a3c3c59b82 ACM: fixed some memory cast warnings 2012-11-19 08:42:36 +11:00
rmackay9 07a7a1acd8 ArduCopter: replaced digitalRead and digitalWrite with faster calls
improved performance logging to dataflash
2012-11-19 01:16:07 +09:00
Andrew Tridgell 531e62d3b5 MAVLink: improve usefulness of logged GPS velocities
we need them to align with time to use them for accelerations
2012-11-17 17:45:30 +11:00
Jason Short 5f57678a9c ACM Nav_throttle- removed sign inversion 2012-11-16 17:38:57 -08:00
Robert Lefebvre 9c6e914bf8 Added Leonard to Contributor List. 2012-11-16 15:43:03 -05:00
rmackay9 e92b560df5 ArduCopter: low baterry failsafe 2012-11-15 23:35:41 +09:00
rmackay9 73ed6c9dbf ArduCopter, APM_RC: failsafe if PPM encoder fails to update for 2 seconds 2012-11-15 23:35:36 +09:00
rmackay9 258442770d ArduCopter: flight mode changes ignored while in throttle failsafe
reaction time to flight mode changes (when not in failsafe) reduced from 0.6 seconds to 0.1 seconds
2012-11-13 12:50:51 +09:00
rmackay9 cdfd3f9ccc ArduCopter, ArduPlane: rename ap variable in GCS_Mavlink.pde to resolve compiler warning re shadowing of variable 'ap'
Changed ArduPlane to keep function consistent with ArduCopter
2012-11-12 13:30:04 +09:00
rmackay9 dcd98eee78 ArduCopter: remove some variables no longer required with introduction of AP_state 2012-11-12 12:41:25 +09: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 ea7f639ebf ACM: Added fast descent with Bill P's equation for managed accerlation 2012-11-11 18:23:45 -08: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 c1b759d5d8 ACM: Added a speed filter for throttle cruise, increased alt change rate for alt hold, increased the max climb_rate reporting 2012-11-11 18:17:33 -08:00
Jason Short f344eb875a ACM: Allow greater than 45° pitch and roll in Stab 2012-11-11 18:07:58 -08:00
Jason Short be63481a8c ACM : Logging.pde formatting 2012-11-11 18:06:50 -08:00
Jason Short 9e0b0b9fcd ACM : loging ApState at faster rate 2012-11-11 18:00:10 -08:00
Jason Short 9735a0eff1 ACM: Allow for user defined roll and pitch input max 2012-11-11 18:00:10 -08:00
Andrew Tridgell fddfb0b1a3 MAVLink: update compass health in SYS_STATUS
this will make it easier to tell if a I2C error occurred in flight
2012-11-12 11:26:54 +11:00
rmackay9 bcb9519fd7 ArduCopter: renamed system bitmap to ap_system to resolve desktop compile issues 2012-11-11 22:42:10 +09:00
rmackay9 e212744f4c 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
rmackay9 96872493ae ArduCopter: remove unnecessary debug print mesage from save_trim function 2012-11-10 23:10:29 +09:00
rmackay9 95f6357d35 ArduCopter: fix APM2 build 2012-11-10 22:06:23 +09:00
Jason Short 883bb7cfc0 ACM formatting 2012-11-09 22:15:16 -08:00
Jason Short fb2180ddcd ACM : climb rate option using Bill P's equation 2012-11-09 22:15:16 -08:00
Jason Short 129ec35c35 ACM crosstrack min distance 2012-11-09 22:15:16 -08:00
Jason Short 4b5e0a5046 ACM Logging Events 2012-11-09 22:15:16 -08:00
Jason Short 6dba79e3a7 ACM Log, formatting 2012-11-09 22:15:16 -08:00
Jason Short 549489ddbb ACM : Setup, format 2012-11-09 22:15:16 -08:00
Jason Short ecdc281315 ACM | removing old files 2012-11-09 22:15:16 -08:00