Commit Graph

991 Commits

Author SHA1 Message Date
Andrew Tridgell 69c29d35ce ACM: change DCM loop to 100Hz
On my APM2 quad this seems to give better results
2012-03-10 10:34:31 +11:00
Andrew Tridgell 2596acc8eb ACM: removed incorrect mode definition 2012-03-10 10:34:30 +11:00
Andrew Tridgell 7a9b3d3388 Quaternion: show "Quaternion test" on startup if enabled 2012-03-10 10:34:29 +11:00
Andrew Tridgell 7e4c8592ff ACM: make it possible to build ArduCopter with quaternions 2012-03-10 10:34:29 +11:00
Andrew Tridgell 9bff4e2c4c ACM: only call the fast loop if the imu has new data
this prevents us spinning waiting for the sensors to gather some data
2012-03-10 10:34:29 +11:00
Andrew Tridgell 367947fd33 HWSTATUS: if we don't know the voltage, report it as zero
this will tell us if board_voltage() is really working
2012-03-10 10:34:28 +11:00
Andrew Tridgell 64cc04ae09 ACM: adjust yaw drift correction constants
this should give the compass a bit more authority
2012-03-10 10:34:28 +11:00
Andrew Tridgell a0ce202d87 ACM: added SIMSTATE, DCM and HWSTATUS messages to ACM 2012-03-10 10:34:27 +11:00
Jason Short 486c56ce41 Consolidated Barometer pressure sensing to a single filter based on Randy's new filter class. 2012-03-08 23:13:04 -08:00
Jason Short c8e9d57567 temp remove filter for quad motors during testing. It's unlikely this filter did anything at all to be honest. 2012-03-06 22:23:06 -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 c26eb6afcc ACM: Updated config values 2012-03-06 22:12:24 -08:00
rmackay9 8b256cf924 ArduCopter - fix for stability patch and motor filter meant to deal with engines tendency to speed up faster than they slow down 2012-03-06 23:20:30 +09:00
rmackay9 72a775cc2a ArduCopter - fixed typo in motor filtering for octa, octa_quad and y6 that is suppose to correct for props speeding up faster than they slow down. 2012-03-06 22:19:19 +09:00
rmackay9 706bea5992 ArduCopter - added OCTA_QUAD_FRAME to comments in APM_Configh.h to help user select frame when compiling with arduino 2012-03-06 22:15:02 +09:00
Jason Short 46d7da4d14 Added define for throttle range for altitude changes, updated it to 250 2012-03-05 22:12:53 -08:00
Robert Lefebvre a480b32400 Added support for TradHeli H1 swashplate type. Added new param heli_h1_swash_enabled.
Signed-off-by: Robert Lefebvre <robert.lefebvre@gmail.com>
2012-03-03 08:14:14 -05:00
Andrew Tridgell 0ff44563ec ACM: use g.rc_speed for all APM_RC.SetFastOutputChannels calls 2012-03-02 17:57:08 +11:00
Andrew Tridgell 0fc646d666 ACM: set default RC fast speed to 400Hz 2012-03-02 17:57:08 +11:00
Andrew Tridgell e213f6780e ACM: added RC_SPEED MAVLink parameter
this will set the speed for APM_RC.SetFastOutputChannels()
2012-03-02 17:57:08 +11:00
Andrew Tridgell f781bd735b ACM: fixed Parameters.h to avoid duplicate keys
unfortunately everyone needs to reload
2012-03-02 15:48:28 +11:00
Andrew Tridgell cb874d6097 ACM: added board_voltage() 2012-03-02 15:48:28 +11:00
Robert Lefebvre e49c2d2871 Rescale TradHeli roll_out and pitch_out into the min and max ranges to provide linear motion across the input range instead of stopping when the input hits the constrain value. These calculations are based on an assumption of the user specified roll_max and pitch_max coming into this equation at 4500 or less, and based on the original assumption of the total g.heli_servo_x.servo_out range being -4500 to 4500.
Signed-off-by: Robert Lefebvre <robert.lefebvre@gmail.com>
2012-03-01 22:04:50 -05:00
Jason Short 7c09e4a5e6 added stab_d gain scheduling - off by default 2012-02-28 20:16:40 -08:00
Jason Short a387956814 added stab_d gain scheduling 2012-02-28 20:16:40 -08:00
Jason Short ceef8070ac added stab_d gain scheduling 2012-02-28 20:16:40 -08:00
Jason Short b76c4ecb22 added stab_d gain scheduling 2012-02-28 20:16:40 -08:00
Jason Short efdf6ee79f added option for stab_d gain scheduling 2012-02-28 20:16:40 -08:00
Jason Short ca34d7b7c2 Added test for stab_d gain scheduling. 2012-02-28 20:16:40 -08:00
Pat Hickey 16ed16f403 Cleanup: rm ArduCopter/GCS_Mavlink\ copy.txt
* Not needed, but we can always checkout an old version if it is.

Hi Pat,
This may have been my WIP for the Mavlink 1.0 conversion. I tried to
give Tridge a head start on it. I've made small updates to it in
parallel to the current Mavlink. You can delete it as he would have used
it by now if he felt it was helpful.

Jason

On Feb 28, 2012, at 4:08 PM, Pat Hickey wrote:

It looks like this file was checked in by accident, possibly, but you've
made a few small changes to it since creating it.

Is it important? Should we get rid of it?

Git log of file below.

Thanks
Pat
...
2012-02-28 16:28:27 -08:00
Pat Hickey ff0fc26484 Cleanup: rename files with spaces in their names, replace with underscores
* Skipped /Tools/ArdupilotMegaPlanner/Resources/new...
  and /archive/Configurator/Source/Utilities/TDMS/G...
  because I don't want to mess with that.
2012-02-28 16:14:31 -08:00
Robert Lefebvre 76c3cd88f0 Added heli_collectiveFactor array
Signed-off-by: Robert Lefebvre <robert.lefebvre@gmail.com>
2012-02-28 10:49:28 -05: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
rmackay9 17d94b61ed ArduCopter - modified to work with new Filter library 2012-02-28 21:02:44 +09:00
Jason Short ba68d6d8a1 Set loiter rate enabled by default 2012-02-26 12:29:28 -08:00
Jason Short e06d8142c1 Added OPtion for non-rate based loiter 2012-02-26 11:33:37 -08:00
Jason Short 6e53949c2a removed Constraint that caused JLN's horizontal drift. 2012-02-26 11:33:37 -08:00
Jason Short 517172ba20 Added Loiter Rate Tuning 2012-02-26 11:33:37 -08:00
Jason Short 0ce0c7c262 Added Loiter_rate_tuning 2012-02-26 11:33:36 -08:00
Jason Short eac77504a3 Added more Logging for PIDs. 2012-02-26 11:33:36 -08:00
rmackay9 8193c786ef ArduCopter - added #include <Filter.h> to unbreak the build! 2012-02-26 17:05:41 +09:00
rmackay9 69132e0fe7 ArduCopter - change sonar to use new mode filter from Filter library 2012-02-26 15:35:14 +09:00
Jason Short f27e9f9ca1 added a simple rest of nav_throttle just in case 2012-02-25 13:31:21 -08:00
Jason Short cc5ab4aebf increased speed of alt hold I term based on Jani's Logs 2012-02-25 13:31:21 -08:00
Jason Short 1ce267f904 increased the rate error for more responsive alt hold 2012-02-25 13:31:21 -08:00
Jason Short a924c3685e Based on Jani's latest logs I've made two tweaks to alt hold.
The first is to remove the filter on the throttle output for alt_hold.

The second was to open up the constraint on climb rate. This is to deal with larger than expected disturbances causing altitude changes.
2012-02-25 13:31:21 -08:00
Andrew Tridgell e2bbc795ad ACM: use a NULL gps pointer in DCM init
current DCM API does need a GPS reference passed in, but it can be
NULL
2012-02-25 15:08:49 +11:00
Andrew Tridgell 0248b48d30 allow MAG_ENABLE to be changed in flight
this disables the compass in DCM if MAG_ENABLE is changed in
flight. Without this we would use a fixed yaw once the compass is
disabled

This also makes sure we don't pass the compass to DCM till we have
done a read. This ensures we have a good compass fix for the initial
DCM heading
2012-02-25 14:51:09 +11:00
Andrew Tridgell 864ed1a87f ACM: check the return of compass.init()
if the compass fails to initialise then don't pass it to DCM, or we
will get no yaw control. Report the init failure to the user.
2012-02-25 14:51:08 +11:00
Andrew Tridgell 698749dd92 ACM: don't pass a gps pointer to DCM
after discussion with Randy, we don't want ArduCopter to fall back to
GPS for yaw when the compass becomes unhealthy. So we shouldn't pass
the gps object to the DCM code at all.
2012-02-25 14:51:08 +11:00
Andrew Tridgell 690dc9052a GCS: force scalar type in copy_name()
this enables access to compass offsets over MAVLink
2012-02-25 11:37:20 +11:00
Andrew Tridgell 2e9105c68a AP_Param: added special handling for Vector3f
We would like to be able to use Vector3f as a parameter while exposing
the individual elements of the vector as MAVLink parameters. This
change to AP_Param makes that possible, by giving AP_Vector3f a dual
personality
2012-02-25 11:37:20 +11:00
Jason Short 1e254cbca0 Compass heading added to ATT log 2012-02-24 12:11:15 -08:00
rmackay9 57e5eee8c8 TradHeli - increase max yaw input to 45 degrees 2012-02-24 20:18:40 +09:00
Jason Short 385828824d updated Gains for Marco's loiter test 2012-02-23 22:03:26 -08:00
Jason Short 24345d4f43 Loiter updates 2012-02-23 22:03:26 -08:00
Andrew Tridgell 1cd3172954 ACM: ensure update_trig() doesn't cause NAN values for cos_roll/cos_pitch
the DCM matrix could have a value over 1.0 for c.x due to rounding
errors
2012-02-24 11:52:55 +11:00
Jason Short 364afe8da0 added a constraint to D term 2012-02-23 09:14:44 -08:00
Andrew Tridgell 95ef9206dc DCM: renorm_sqrt_count is now called renorm_range_count 2012-02-23 08:16:08 +11:00
Jason Short c7c16a5b0f Emile's Fixes 2012-02-22 10:27:34 -08:00
Jason Short 4483f19f85 Marco's Hexa Motors 2012-02-22 09:55:44 -08:00
Jason Short 242f54793c revved a version 2012-02-22 09:00:42 -08:00
Jason Short 729c824809 made timer unsigned 2012-02-21 21:49:03 -08:00
Jason Short 42b5d47f7b commented out control mode debug print 2012-02-21 21:48:07 -08:00
Jason Short 30efbae0e9 removed old comments 2012-02-19 14:21:27 -08:00
Jason Short 265c5255a3 Added slow_wp default in AP mode 2012-02-19 13:15:40 -08:00
Jason Short 336441b109 reset slow_WP option at mode switch 2012-02-19 13:13:42 -08:00
Jason Short 81a861c8ac Added slow wp option in calc_desired_speed 2012-02-19 13:13:21 -08:00
Jason Short 33d4d52a6b set Slow WP option for RTL in Auto mode 2012-02-19 13:12:23 -08:00
Jason Short cae49b3543 Added "slow WP" option for RTL. 2012-02-19 13:11:59 -08:00
Jason Short b54d08f410 Updated manual throttle control during throttle hold 2012-02-19 12:40:51 -08:00
Jason Short bcd5129f9b added workaround for resetting alt. 2012-02-19 12:40:08 -08:00
Jason Short fa32b084bd Added SW test for Manual Boost 2012-02-19 12:39:40 -08:00
Randy Mackay 9fabdb5797 TradHeli - change throttle range back to 0~1000 (was temporarily changed to be 1250~850 which limited the range of the swash plate's vertical movements) 2012-02-20 00:27:12 +09:00
Randy Mackay e146f225b1 ArduCopter - remove unnecessary block for next GPS value before saving home location 2012-02-19 15:38:40 +09:00
Andrew Tridgell df8a557630 AP_Param: update users of AP_Param for ParamToken 2012-02-19 17:05:28 +11:00
Andrew Tridgell 12327eb2a9 Heli: fixed some 'used before initialised' warnings 2012-02-19 16:34:43 +11:00
Jason Short 028de5d2c5 Axis lock beta (off by default) 2012-02-18 21:16:19 -08:00
Jason Short 885710fce6 updated max throttle define 2012-02-18 21:14:13 -08:00
Jason Short 05024cc06c Change 800 to a define 2012-02-18 21:13:28 -08:00
Jason Short 04b70ffdc2 added Axis_Lock params 2012-02-18 21:13:06 -08:00
Jason Short ff2b4ecb7a updated throttle range 2012-02-18 21:11:06 -08:00
Jason Short 1e37a0ec17 added a limit to range output 2012-02-18 21:08:17 -08:00
Jason Short 1b46daa12e some better defaults for JDrones 2012-02-18 14:23:21 -08:00
Randy Mackay b92d7aaad5 ArduCopter - fix for yaw control on Octa Quad Plus frame. 2012-02-18 22:04:09 +09:00
Randy Mackay 232359186e TradHeli - fixed small parameter bug affecting helis. The servo parameters were declared as GSCALAR instead of GGROUP in Parameters.pde.
also renamed heli parameters from _coll_ to the more descriptive _collective_
2012-02-18 20:57:51 +09:00
Randy Mackay b64c0da003 ArduCopter - updated version to 2.4 2012-02-18 18:44:29 +09:00
Andrew Tridgell 6929226b96 ACM: expanded EEPROM parameter area by 256 bytes 2012-02-18 10:51:57 +11:00
Andrew Tridgell 718a5b70e3 AP_Param: fixed saving of sensor calibration
this fixes the saving of the accel and gyro calibration to EEPROM,
which was initially broken by the AP_Param conversion
2012-02-18 10:51:57 +11:00
Jason Short b532cb91b1 added Rate_D tuning value 2012-02-17 15:23:59 -08:00
Jason Short 0075901f77 upped rate loop to 250hz 2012-02-17 15:23:59 -08:00
Jason Short 5218220f0f re-implemented WII Dampening filter for Marco. 2012-02-16 22:38:23 -08:00
Jason Short b052dab80d Adjusted gains to move closer to Marco's tests 2012-02-16 22:19:39 -08:00
Jason Short 17c6c7b294 added extra gain logging 2012-02-16 22:09:22 -08:00
Jason Short 908ca4e915 scaled X velocity 2012-02-16 22:09:22 -08:00
Jason Short bc1593e89c cast to float 2012-02-16 22:09:21 -08:00
Jason Short 632cc783a1 cast D term to float just in case 2012-02-16 22:09:21 -08:00
Jason Short 36a120d8df removed some unused vars,
formatting, made loop speed same as PIDT1 to eliminate variable.
2012-02-16 22:09:21 -08:00
Jason Short a43ee36bee CH 6 Range setup 2012-02-15 11:47:54 -08:00