Commit Graph

1121 Commits

Author SHA1 Message Date
James Goppert 0a38e2b8d4 Updated ArduPlane/ArduCopter cmake options. 2012-04-18 15:16:02 -04:00
Adam M Rivera 5ee15da73b Planner/defines.h: Updated the enumeration value for APPROACH so as not to disturb the order of the universe. 2012-04-18 10:32:01 -05:00
James Goppert 26e3d6ae45 Switched to project specific cmake lists.
This is better since each project has very different options.
2012-04-17 23:07:20 -04:00
Adam M Rivera baf8218b58 ArduCopter: Added code to prevent mode from switching to APPROACH on every loiter. 2012-04-16 16:29:54 -05:00
Adam M Rivera b891622210 ArduCopter: Changed millis compare to use new config value for approach delay. 2012-04-16 14:04:30 -05:00
Adam M Rivera 3146c22ea8 commands_logic.pde: Added write to constrained value to EEPROM. 2012-04-16 14:03:33 -05:00
Adam M Rivera 3135cd91d0 config.h: Added RTL_APPROACH_DELAY config value. 2012-04-16 14:00:08 -05:00
Adam M Rivera 8128fb2d5f Merge branch 'master' of https://code.google.com/p/ardupilot-mega into auto-approach
Conflicts:
	ArduCopter/Parameters.h
2012-04-16 10:23:01 -05:00
Adam M Rivera b611b6a1e8 system.pde: Updated param name to loiter_timer. 2012-04-16 10:12:30 -05:00
Adam M Rivera 03e11cf893 commands_logic: Allowed for an approach alt as low as 1m. Added a check to make sure we are currently above our target approach alt. 2012-04-16 10:11:50 -05:00
Adam M Rivera 637f778dd0 ArduCopter: Updated param name from auto_land_timer to loiter_timer, because it could really be used for more routines like auto-approach. Added timer before approach (20s). 2012-04-16 10:07:57 -05:00
Adam M Rivera 2d096c401f Parameters: Changed rtl_approach_alt to float to support more granular altitudes 2012-04-16 10:06:29 -05:00
rmackay9 4dadd888d8 ArduCopter - CH6 Tuning - added AHRS_YAW_KP parameter as 30. Now you can easily set the amount that the mag is used to correct the gyro based yaw estimate in the DCM 2012-04-16 23:47:57 +09:00
Andrew Tridgell 5a9ad6ddbb AHRS: enable AHRS_ group in ArduCopter 2012-04-16 20:55:14 +10:00
Adam M Rivera f27b5d538b ArduCopter, commands_logic: Updated logic to allow as low as 5m. 2012-04-15 19:50:05 -05:00
Adam M Rivera e4940ec3bb ArduCopter: Added check to make sure user defined approach alt is at least 5. 2012-04-15 16:58:22 -05:00
Adam M Rivera 0027c9253b commands_logic: Added check to make sure the do_approach method is not being used to land. 2012-04-15 16:57:49 -05:00
Adam M Rivera 70d67b0791 System: Added handler for the new APPROACH flight mode which will initiate an approach to a target alt as defined by the user. 2012-04-15 16:55:34 -05:00
Adam M Rivera d1a7fdb9ef ArduCopter: Added check to g.rtl_approach_alt, which if greater than zero will initiate an approach to the target alt rather than land. 2012-04-15 16:54:43 -05:00
Adam M Rivera d12bf86876 commands_logic: Added do_approach() to set the new target alt based on the user defined value. 2012-04-15 16:53:25 -05:00
Adam M Rivera fb5dc3085b Defines: Added new control mode (APPROACH). 2012-04-15 16:52:32 -05:00
Adam M Rivera f5e0b002ba Parameters: Added new APPROACH_ALT params (g.rtl_approach_alt) which stored the users desired target altitude after RTL is complete. 2012-04-15 16:51:41 -05:00
rmackay9 ccb21613b5 ArduCopter - updated firmware version to "2.6 Beta" 2012-04-14 14:26:44 +09:00
rmackay9 33bd558a94 ArduCopter - LEDS - main code to support COPTER_LEDS.
Code by Robert Lefebvre
2012-04-12 22:55:44 +09:00
rmackay9 a429c78d20 ArduCopter - LEDS - set new output pins to OUTPUT to support COPTER_LEDS.
Code by Robert Lefebvre
2012-04-12 22:55:40 +09:00
rmackay9 663eda6d47 ArduCopter - LEDS - define pins to be used for COPTER_LEDS.
Code by Robert Lefebvre
2012-04-12 22:55:36 +09:00
rmackay9 ac9555a3b4 ArduCopter - LEDS - added new COPTER_LEDS definition
Code by Robert Lefebvre
2012-04-12 22:55:32 +09:00
rmackay9 d1a5d1f94c ArduCopter - LEDS - two new parameters to support COPTER_LEDS.
Code by Robert Lefebvre.
2012-04-12 22:55:28 +09:00
rmackay9 8f0bc57967 ArduCopter - navigation.pde - added logging of Loiter PID controllers 2012-04-11 23:52:25 +09:00
rmackay9 023378a214 ArduCopter - Parameters.h - changed initialisation order to remove compiler warning (have not changed enum values so shouldn't require eeprom format id update) 2012-04-09 17:37:06 +09:00
rmackay9 c7edd7857c ArduCopter - added dataflash logging of roll and pitch rate controllers 2012-04-08 10:19:20 +09:00
rmackay9 0607be8ea5 ArduCopter - removed unused motor pde files including heli.pde, motors_hexa.pde, motors_octa.pde, motors_octa_quad.pde, motors_tri.pde and motors_y6.pde 2012-04-04 23:06:12 +09:00
rmackay9 2128085576 ArduCopter - test.pde - changed references "motor_armed" to "motors.armed()" as part of move to AP_Motors library.
Change to ESC initialisation calls to use motors.throttle_pass_through method of AP_Motors class.
2012-04-04 23:05:26 +09:00
rmackay9 2fc3b740c4 ArduCopter - system.pde - changed references to "motor_armed" to "motors.armed()" as part of the move to use AP_Motors library. 2012-04-04 23:03:21 +09:00
rmackay9 5e2147de1f ArduCopter - setup.pde - changed cli for helicopter to call the new AP_Motors class's parameters instead of the global parameters.
changed init_esc to call the AP_Motor's class's "throttle_pass_through" function.
2012-04-04 23:02:29 +09:00
rmackay9 1701cac0b1 ArduCopter - radio.pde - changed motor initialisation to set update rate, frame orientation, min and max throttle to AP_Motors class.
Note: perhaps the motors speed at least should be moved to a parameter within the motors class.
output_min function greatly simplified as this is handled by the AP_Motors class.
2012-04-04 23:00:56 +09:00
rmackay9 0f4203a755 ArduCopter - motors.pde - changed references to "motor_armed" to "motors.armed()" because we've moved to using the AP_Motors class.
Simplified set_servos_4 function which was responsible for calling "output_motors_armed" or "output_motors_disarmed" as this determination as to whether the motors are armed or not is handled within the AP_Motors class.
2012-04-04 22:58:42 +09:00
rmackay9 00d540bfa9 ArduCopter - leds.pde - changed refrences to "motor_armed" to "motors.armed()" 2012-04-04 22:57:50 +09:00
rmackay9 ffd77f58ab ArduCopter - removed references to MOT_1 etc as these are now within the AP_Motors class (i.e. MOT_1 has become AP_MOTORS_MOT_1) 2012-04-04 22:56:07 +09:00
rmackay9 929e933b69 ArduCopter - increased firmware version to 118. Removed nearly all heli parameters as these are all created by the AP_MotorHeli class now.
Note: we cannot move the heli_servos to the AP_MotorHeli class yet because of a small issue in the parameters class.
2012-04-04 22:55:07 +09:00
rmackay9 acc24291f3 ArduCopter - Log.pde - changed MOT output to dataflash to take values from AP_Motors class's motor_out array instead of the global motor_out array. 2012-04-04 22:53:21 +09:00
rmackay9 86d2a9ffdb ArduCopter - GCS_Mavlink.pde - changed output to ground station to use new AP_Motor's class motors array inplace of the global "motor_out" array. 2012-04-04 22:52:26 +09:00
rmackay9 23c3f25654 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
rmackay9 544237d60a ArduCopter - add includes for new AP_Motors classes.
Remove global motor_filtered and motor_out arrays.
Removed all global heli variables.
replace "motor_armed" with "motors.armed()"
removed output to rc_4 for tri because this is now handled by AP_MotorsTri class
2012-04-04 22:50:43 +09:00
Andrew Tridgell 40d7b07789 MAVLink: port the new adaptive flow control to ArduCopter
This allows for arbitrary stream rates, and supports flow control if
you are using a 3DR radio
2012-04-02 11:18:53 +10:00
rmackay9 b0c9a25024 ArduCopter - CH6 tuning - changed Roll/Pitch Rate D tuning to use the user supplied tuning range instead of the range / 100.
also changed heli_ext_gyro_gain to make it use the tuning range directly.
2012-03-31 09:28:25 +09:00
Andrew Tridgell 1e0a2fb0be MAVLink: don't waste 100 bytes of bandwidth sending 1 byte of information
the GPS_STATUS message is a massive waste of bandwidth, but it is the
only message that tells us the number of visible satellites. So only
send it if that information changes.

This makes MAVLink work better at low baud rates
2012-03-30 17:46:20 +11:00
Andrew Tridgell 0985327331 ACM: use set_blocking_writes(false) when we arm motors 2012-03-30 17:46:20 +11:00
Andrew Tridgell 36e741b078 MAVLink: raise the serial transmit buffer size to 256 bytes
the 128 byte serial transmit buffer was causing significant problems
with queueing of mavlink messages. With 256 bytes we can fit a lot
more messages out in each pass of the code, which makes telemetry more
efficient

As we discussed on the dev call, we now have enough free ram for this
to be worthwhile
2012-03-30 17:46:20 +11:00
Andrew Tridgell 58f539ca35 ACM: removed FORCE_AUTOMATIC_DECLINATION_UPDATE
we now have the EEPROM option COMPASS_AUTODEC instead
2012-03-30 14:25:27 +11:00
Adam M Rivera 0727955fe3 ArduCopter: Changed implementation of configuration value for automatic declination. There is now a FORCE_AUTOMATIC_DECLINATION_UPDATE that when enabled will update the declination on every GPS 3D fix regardless of whether or not the user saved a value to the EEPROM. By default the declination will only be set by the automatic declination routine if the user has not saved a declination to the EEPROM. 2012-03-30 14:25:06 +11:00
rmackay9 a12a7a7d87 ArduCopter - added CH6_STABILIZE_KD tuning value 2012-03-29 21:09:41 +09:00
rmackay9 2cc87af180 Added multiple new tuning parameters to the inflight channel 6 tuning feature:
#define CH6_YAW_KI 24
        #define CH6_ACRO_KP 25
        #define CH6_YAW_RATE_KD 26
        #define CH6_LOITER_KI 27
        #define CH6_LOITER_RATE_KI 28
2012-03-28 23:58:58 +09:00
Andrew Tridgell 8ccf3a05f0 Mavlink: fixed warnings about limits on int32 values 2012-03-27 15:37:25 +11:00
Andrew Tridgell 409c147ce3 ACM: fixed heli build 2012-03-27 15:37:25 +11:00
Andrew Tridgell 5d7c571fb1 ACM: fixed the build on the 1280 2012-03-27 15:37:24 +11:00
Andrew Tridgell 4821eb4807 ACM: enable the new compass offset nulling in ACM 2012-03-27 15:37:24 +11:00
rmackay9 441413f1c6 ArduCopter - added PID log type. Implemented for Yaw stabilize and rate controllers. 2012-03-25 16:09:08 +09:00
rmackay9 eb55234809 ArduCopter - updated firmware version to 2.5.3 2012-03-25 09:13:51 +09:00
rmackay9 1f253c5217 ArduCopter - altitude hold - ensure throttle_avg is initialised from g.throttle_cruise parameter 2012-03-23 23:48:24 +09:00
rmackay9 19981d4864 ArduCopter - updated to firmware version to 2.5.2 to avoid confusion with post 2.5.1 versions posted to downloads area 2012-03-23 23:12:49 +09:00
Robert Lefebvre 872ec65afa Fix Auto_Trim to allow it to actually be called when setup on Ch7 pulldown menu in MP. 2012-03-23 09:17:58 -04:00
Jason Short 74893f6959 Throttle_hold was in APM_Config - which is ignored by the Mission planner Hex generator 2012-03-22 10:01:24 -07:00
rmackay9 be22deb56f ArduCopter - motors_quad.pde - corrected test sequence for + configuration 2012-03-21 22:04:50 +09:00
rmackay9 7dc18b53ad ArduCopter - navigation - corrected comment in check_missed_wp function to clarify that you've passed the waypoint when the direction to the way point is more than 100 degrees off (not 10 degrees off) from your original bearing towards the waypoint 2012-03-20 17:11:22 +09:00
rmackay9 198ac97914 ArduCopter - updated version to 2.5.1 2012-03-20 17:08:18 +09:00
rmackay9 0ba48a8556 ArduCopter - increased default THROTTLE_CRUISE to 450 2012-03-20 16:34:07 +09:00
rmackay9 ce6b1ccc75 ArduCopter - Navigation.pde - corrected comment re wp_distance and get_distance to clarify that they are in cm (not meters!) 2012-03-20 16:13:38 +09:00
Andrew Tridgell dc71191f25 MAVLink: constrain variable changes to the datatype range
if someone tries to set a AP_Int16 to a value of 300000, they now get
32767 instead of -27678
2012-03-19 17:29:02 +11:00
Andrew Tridgell 690ad58a64 AHRS: adapt ArduCopter for new AHRS framework 2012-03-19 17:29:02 +11:00
Jason Short 223a6f80c8 ACM: Arducopter.pde - Added a constraint to the NO_NAV mode to be similar to the Loiter and rate nav modes. 2012-03-18 22:31:22 -07:00
Jason Short 722a4d01e8 ACM: Attitude.pde - consolidated wind I term resets 2012-03-18 22:31:21 -07:00
Jason Short e42c64f94e ACM: system.pde - removed reset_nav_I() to consolidate the wind control reset. 2012-03-18 22:31:21 -07:00
rmackay9 bed667c62e ArduCopter - small change to ensure both roll and pitch commands are zero before switching out of loiter_override (loiter override becomes true when roll+pitch command is greater than 5 degrees and switches back to false when both become zero)
- remove incorrect comments about when loiter target position is reset.
2012-03-18 15:16:04 +09:00
rmackay9 7bf4e22c7b ArduCopter - remove reference to AUTO_RESET_LOITER that is not used anymore 2012-03-18 14:53:19 +09:00
rmackay9 485cebf85c ArduCopter - bug fix to calc_XY_velocity (was using uninitialised last_longitutde and last_latitude for speed calculations) 2012-03-18 12:11:12 +09:00
Jason Short 27f276a066 ACM: Lowered gains from flight tests today with 3DR Quad 2012-03-17 11:04:01 -07:00
Jason Short f6638d00d6 ACM: Smoother Speed calcs 2012-03-16 14:10:19 -07:00
Jason Short 09995aed62 ACM: Softer Loiter Gains 2012-03-16 14:10:19 -07:00
Jason Short 234a5dc65e ACM: Small fix to nav_throttle to prevent too fast of a landing. 2012-03-16 14:10:19 -07:00
Jason Short d52b93849e ACM: Fixed comment 2012-03-16 14:10:19 -07:00
Jason Short 1ecca36dd0 Fixed Scaling bug in Sonar mixing 2012-03-16 14:10:19 -07:00
Jason Short 0c6a87db3f ACM: Disabled D term experiment for Loiter until more testing 2012-03-15 19:20:03 -07:00
Jason Short ce14ef1b2b Tune down Loiter_P a hair 2012-03-15 19:17:27 -07:00
Robert Lefebvre 0bc40f51fb Small fix on the Traditional Helicopter Collective-Yaw compensation calculation. 2012-03-15 20:14:18 -04:00
rmackay9 eea8d67a1e ArduCopter - removed #define AUTOMATIC_DECLINATION ENABLED line to ensure users don't try and enable it because it needs a bit more work before it's ready for general use 2012-03-15 21:58:42 +09:00
analoguedevices eb530a2045 Rev'ed version number to 2.5. Added more credits 2012-03-15 02:38:54 +00:00
Jason Short 59fb1f3542 ACM: Added constraints for invalid climb rates. Robert Lefebvre had a bad sonar and very invalid rates crept into the system. 2012-03-13 21:31:16 -07:00
Jason Short 50b4c07261 Lowering the D filter for less latency and less oscillation. 2012-03-13 12:58:46 -07:00
Jason Short 72d03a8046 ACM: Loiter tuning updates, turned up I a bit, a higher I will work better if the system is well tuned. 2012-03-13 10:23:31 -07:00
Jason Short 0edc1020ac ACM: Loiter D performance updates 2012-03-13 10:23:31 -07:00
Jason Short 6edad4d9ef ACM: Larger filter for Loiter D 2012-03-13 10:23:30 -07:00
Jason Short 953b93293e ACM: removing old define 2012-03-12 13:11:30 -07:00
Jason Short 580c5e109e ACM: Got the sign wrong. I'm using the derivative of the error now and not the sensor, so the sign was reversed. 2012-03-12 13:11:05 -07:00
Jason Short 38153f15e0 ACM: Made Loiter_D 0 by default. Accidentally left it on by default. 2012-03-12 10:37:15 -07:00
Jason Short 56d2b9ef05 ACM: Broke out the D term for the PID loop to add custom filtering. The current AC_PID filtering wasn't working for this application and we needed more smoothing. Bad pitch oscillations were being transmitted to the copter. 2012-03-11 23:21:49 -07:00
Jason Short 5c3cb1c5d0 ACM: removed Filtering code for motors in Quad for testing 2012-03-11 23:21:49 -07:00
Jason Short d9ccd4f6bd ACM: made same as Loiter I 2012-03-11 23:21:49 -07:00
Jason Short e279106b44 ACM: Tuning based on flights today 2012-03-11 23:21:49 -07:00
Jason Short 38a60df189 ACM: Rate_d filter for PID loop of Loiter. 2012-03-11 23:21:49 -07:00