Commit Graph

1131 Commits

Author SHA1 Message Date
Adam M Rivera
7d13371acf Merge branch 'master' of https://code.google.com/p/ardupilot-mega into auto-approach 2012-04-20 11:45:38 -05:00
rmackay9
f0a9209935 ArduCopter - regressed version back to 2.5.4 2012-04-20 21:58:32 +09:00
James Goppert
5390467f3d Worked on ArduCopter cmake options. 2012-04-19 16:05:08 -04:00
Adam M Rivera
c233defbe6 Merge branch 'retro-loiter' of https://code.google.com/r/a432511-wip into auto-approach
Conflicts:
	Tools/ArdupilotMegaPlanner/Common.cs
2012-04-19 11:08:34 -05:00
Adam M Rivera
1676e09f12 navigation.pde: Put the new calc_GPS_velocity method in a compiler if that checks the new RETRO_LOITER_MODE config value (saves space and ensures its not being used unless retro loiter mode is enabled) 2012-04-19 10:21:04 -05:00
Adam M Rivera
24363ccb83 Merge branch 'master' of https://code.google.com/p/ardupilot-mega into retro-loiter 2012-04-19 10:17:36 -05:00
Adam M Rivera
d29f1ef331 Loiter: Made the "retro loiter" routines configurable. Add RETRO_LOITER_MODE ENABLED to APM_Config.h to enable the older loiter shtuff. 2012-04-19 10:16:29 -05:00
Adam M Rivera
a7bc3d2cc6 Arducopter.pde: Moved gps to 10hz. Changed calc_XY_velocity to calc_GPS_velocity. 2012-04-18 23:07:35 -05:00
Adam M Rivera
d4a4641ae6 navigation.pde: Added calc_GPS_velocity. Added constraint to x/y error and x/y rate error. 2012-04-18 23:06:15 -05:00
James Goppert
53c143a575 Improved cmake options. 2012-04-18 23:15:29 -04:00
James Goppert
0e7e77760a Updated ArduPlane/ArduCopter cmake options. 2012-04-18 15:16:02 -04:00
Adam M Rivera
a3842734a9 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
a9f0bd24d7 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
f6d81a16c2 ArduCopter: Added code to prevent mode from switching to APPROACH on every loiter. 2012-04-16 16:29:54 -05:00
Adam M Rivera
56a00fa1f7 ArduCopter: Changed millis compare to use new config value for approach delay. 2012-04-16 14:04:30 -05:00
Adam M Rivera
07e53fad18 commands_logic.pde: Added write to constrained value to EEPROM. 2012-04-16 14:03:33 -05:00
Adam M Rivera
7b277d7044 config.h: Added RTL_APPROACH_DELAY config value. 2012-04-16 14:00:08 -05:00
Adam M Rivera
f9affb3295 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
0c3d6614cd system.pde: Updated param name to loiter_timer. 2012-04-16 10:12:30 -05:00
Adam M Rivera
3d024ba2dd 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
41702aca94 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
a366bb2f81 Parameters: Changed rtl_approach_alt to float to support more granular altitudes 2012-04-16 10:06:29 -05:00
rmackay9
870b5e5f75 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
95cb35c7bb AHRS: enable AHRS_ group in ArduCopter 2012-04-16 20:55:14 +10:00
Adam M Rivera
77d6f22864 ArduCopter, commands_logic: Updated logic to allow as low as 5m. 2012-04-15 19:50:05 -05:00
Adam M Rivera
2954bf6f76 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
cddcdb8be3 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
a2b338c052 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
a24b7bcf14 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
cfe3b58248 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
83fe6733d4 Defines: Added new control mode (APPROACH). 2012-04-15 16:52:32 -05:00
Adam M Rivera
7ba8c291bd 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
a71ed6abec ArduCopter - updated firmware version to "2.6 Beta" 2012-04-14 14:26:44 +09:00
rmackay9
24b81db20e ArduCopter - LEDS - main code to support COPTER_LEDS.
Code by Robert Lefebvre
2012-04-12 22:55:44 +09:00
rmackay9
c337df11c8 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
d70f5da5e0 ArduCopter - LEDS - define pins to be used for COPTER_LEDS.
Code by Robert Lefebvre
2012-04-12 22:55:36 +09:00
rmackay9
84b07b5e6a ArduCopter - LEDS - added new COPTER_LEDS definition
Code by Robert Lefebvre
2012-04-12 22:55:32 +09:00
rmackay9
0a3bc9a66a ArduCopter - LEDS - two new parameters to support COPTER_LEDS.
Code by Robert Lefebvre.
2012-04-12 22:55:28 +09:00
rmackay9
fad162989f ArduCopter - navigation.pde - added logging of Loiter PID controllers 2012-04-11 23:52:25 +09:00
rmackay9
f8210b164c 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
df85051574 ArduCopter - added dataflash logging of roll and pitch rate controllers 2012-04-08 10:19:20 +09:00
rmackay9
998058ec07 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
ad9a8acbab 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
1d086c83f0 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
4aa40bdf10 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
473126581d 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
905a445391 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
aa54458dcf ArduCopter - leds.pde - changed refrences to "motor_armed" to "motors.armed()" 2012-04-04 22:57:50 +09:00
rmackay9
7df17e9b3b 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
ee308ea06c 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
8402a3d837 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
e5710958bc 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
aa4085183c 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
54a0709759 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
c0a54762c6 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
75d7308fb4 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
e0bb7e2777 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
7634f541b9 ACM: use set_blocking_writes(false) when we arm motors 2012-03-30 17:46:20 +11:00
Andrew Tridgell
b4107d35e8 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
0bc604f030 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
51b70e4d36 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
0efb0e5b4d ArduCopter - added CH6_STABILIZE_KD tuning value 2012-03-29 21:09:41 +09:00
rmackay9
599cea21bb 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
34506b170f Mavlink: fixed warnings about limits on int32 values 2012-03-27 15:37:25 +11:00
Andrew Tridgell
e0c9ab5a29 ACM: fixed heli build 2012-03-27 15:37:25 +11:00
Andrew Tridgell
47f9dfd125 ACM: fixed the build on the 1280 2012-03-27 15:37:24 +11:00
Andrew Tridgell
e956e21e7d ACM: enable the new compass offset nulling in ACM 2012-03-27 15:37:24 +11:00
rmackay9
1f4cfb9333 ArduCopter - added PID log type. Implemented for Yaw stabilize and rate controllers. 2012-03-25 16:09:08 +09:00
rmackay9
67cf7b9eed ArduCopter - updated firmware version to 2.5.3 2012-03-25 09:13:51 +09:00
rmackay9
63b96c0153 ArduCopter - altitude hold - ensure throttle_avg is initialised from g.throttle_cruise parameter 2012-03-23 23:48:24 +09:00
rmackay9
89576a281a 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
84d8414a2e 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
e2560c5865 Throttle_hold was in APM_Config - which is ignored by the Mission planner Hex generator 2012-03-22 10:01:24 -07:00
rmackay9
ad4a2aa9f3 ArduCopter - motors_quad.pde - corrected test sequence for + configuration 2012-03-21 22:04:50 +09:00
rmackay9
66c4f752e3 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
1dd554c333 ArduCopter - updated version to 2.5.1 2012-03-20 17:08:18 +09:00
rmackay9
0773a25b5d ArduCopter - increased default THROTTLE_CRUISE to 450 2012-03-20 16:34:07 +09:00
rmackay9
22315cd41a 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
458d55e5bc 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
547b4ed55b AHRS: adapt ArduCopter for new AHRS framework 2012-03-19 17:29:02 +11:00
Jason Short
c5344a2a85 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
a0717f082e ACM: Attitude.pde - consolidated wind I term resets 2012-03-18 22:31:21 -07:00
Jason Short
fe7ca98701 ACM: system.pde - removed reset_nav_I() to consolidate the wind control reset. 2012-03-18 22:31:21 -07:00
rmackay9
9841cb0335 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
dc92da818c ArduCopter - remove reference to AUTO_RESET_LOITER that is not used anymore 2012-03-18 14:53:19 +09:00
rmackay9
91b2b48fd8 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
491af02d8a ACM: Lowered gains from flight tests today with 3DR Quad 2012-03-17 11:04:01 -07:00
Jason Short
427dacba70 ACM: Smoother Speed calcs 2012-03-16 14:10:19 -07:00
Jason Short
3038da1dc3 ACM: Softer Loiter Gains 2012-03-16 14:10:19 -07:00
Jason Short
48a0c9a818 ACM: Small fix to nav_throttle to prevent too fast of a landing. 2012-03-16 14:10:19 -07:00
Jason Short
6201bdb8a7 ACM: Fixed comment 2012-03-16 14:10:19 -07:00
Jason Short
1c0b28c956 Fixed Scaling bug in Sonar mixing 2012-03-16 14:10:19 -07:00
Jason Short
7153b94ade ACM: Disabled D term experiment for Loiter until more testing 2012-03-15 19:20:03 -07:00
Jason Short
a52a14bf12 Tune down Loiter_P a hair 2012-03-15 19:17:27 -07:00
Robert Lefebvre
be3fe36c52 Small fix on the Traditional Helicopter Collective-Yaw compensation calculation. 2012-03-15 20:14:18 -04:00
rmackay9
68e37774a6 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
86eff20d5d Rev'ed version number to 2.5. Added more credits 2012-03-15 02:38:54 +00:00
Jason Short
6f8b97bf6a 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
4315c06f34 Lowering the D filter for less latency and less oscillation. 2012-03-13 12:58:46 -07:00
Jason Short
48ba24a810 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