Commit Graph

391 Commits

Author SHA1 Message Date
Andreas M. Antonopoulos c73f7ef3ab AP_Limits library, provides modular "limits" such as altitude and geo-fencing. 2012-07-14 19:26:17 -07:00
Jason Short e3af0c7920 Arducopter: Yaw stop fix 2012-07-14 12:23:10 -07:00
Robert Lefebvre 59e133235f Implementing Yaw Fix. Tried to blend with Jason's changes. 2012-07-14 00:24:22 -04:00
Jason Short 4af392290b Circle_WP: Fix for Yaw toward center, fix for transit to Circle WP from a distance 2012-07-13 19:29:36 -07:00
Jason Short 7b746cf5e1 Arducopter: Wrong define used, caused Copter to Yaw to home when flying missions 2012-07-13 12:51:38 -07:00
Jason Short d8ff5dcfab Arducopter: Fix circle_WP 2012-07-12 09:22:20 -07:00
Jason Short 293f17902b Arducopter:Arducopter.pde
switched over to barometer.get_climb_rate() * 100
removed +home.alt calcs since home is always 0 altitude
2012-07-10 21:53:38 -07:00
Jason Short 3048d2f9b4 Arducopter: WP_radius
Switching to stored WP_radius in meters, just like Arduplane
2012-07-10 21:53:38 -07:00
Amilcar Lucas dfe0983e1e Merge the changes from APM_Camera branch into ArduCopter
Conflicts:

	ArduCopter/Camera.pde
	ArduCopter/Parameters.pde
2012-07-11 00:39:13 +02:00
Jason Short f019d41729 arducopter.pde
Timer was set =0 at initialization.
2012-07-09 13:13:32 -07:00
Jason Short 8ccda519fa Arducopter.pde:
Added note about -1 to disable feature
Set RTL_Atl by default after reaching home in case we're at the wrong alt.
increased speed of Yaw rotation for WPs
2012-07-03 17:21:46 -07:00
Jason Short e0b3309500 Yaw mode:
Improved hybrid Yaw mode:
- uses rate controller rather than as fast as possible
- waits 1.5 seconds before entering hold
- bounce free
2012-07-01 13:40:12 -07:00
Jason Short c5617eeeac Arducopter.pde_RTL:
added a new RTL function that goes into Loiter, first, checks if we have reached RTL_Altitude, then enters WP mode to come home.
Removes Approach mode. Uses Auto_Approach value to decide if we should land or descend to a certain altitude
2012-07-01 13:40:11 -07:00
Jason Short 2e8eee9306 Added code for self centering throttle - disabled by default. 2012-07-01 13:40:11 -07:00
Jason Short 4d6ccccef5 Circle_WP distance check fix 2012-06-29 21:20:28 -07:00
Jason Short 668135ea8b Arducopter.pde: Added Toy mode refinements 2012-06-29 21:20:27 -07:00
Jason Short e036bee424 Aeducopter.pde: Toy mode updates 2012-06-29 21:20:27 -07:00
Andrew Tridgell 55092c25a6 SITL: enable the SIM_* parameters in ArduCopter and ArduPlane 2012-06-29 15:10:52 +10:00
Adam M Rivera dadc7d5a7d ArduCopter: Loiter Timer should have been set when the approach altitude was set. Previously, land had to be enabled before auto approach would work. 2012-06-28 20:34:53 -05:00
Andrew Tridgell 33440567e6 ACM: ArduCopter updates for new compass interface 2012-06-27 16:01:50 +10:00
Andrew Tridgell dae1a57dc5 ACM: adapt the ArduCopter code for new barometer interface 2012-06-27 16:01:50 +10:00
Andrew Tridgell b676caa626 ACM: enable GPS in AHRS for ArduCopter
this is an experiment in centripetal correction for multicopters
2012-06-27 16:01:49 +10:00
Jason Short c76ac4543b Added user editable define for Super simple radius 2012-06-26 10:38:46 -07:00
Jason Short 80d15368bc Arducopter.pde : Added Approach mode, added "Toy" mode fun code I'm playing with.
Added landing code to make landing happen closer to home loc
Added check for distance to Loiter WP before overriding a new Loiter position.
Moved calc_loiter_pitch_roll() to 50 hz.
removed the nav_bearing var - not used with new crosstrack.
2012-06-25 23:08:25 -07:00
Jason Short 6020f6d9fa Added throttle_min as a user definable param 2012-06-20 14:58:34 -07:00
rmackay9 c62cc4844e ArduCopter: updated firmware to simply 2.6 (i.e. removed Epsilon) ahead of the release 2012-06-15 00:42:59 +09:00
Jason Short c42f9ece43 Inertial Control
I added inertial navigation based on the simulator data. This is an option only available if you compile with Arduino and set
#define INERTIAL_NAV ENABLED
in the APM_Config.h file.

This has been tested for one real flight and did not crash my quad, but consider it very alpha. The quad may be unpredictable at first until the error correction fixes poorly calibrated accels. Be Careful.

Most of the real work is in the inertia file, but the error correction, new variable defines and calibration calls are sprinkled throughout.

The Log should record RAW messages with special debugging values.
2012-06-13 22:34:45 -07:00
rmackay9 e1acf21381 ArduCopter: updated firmware version to 2.6 Epsilon 2012-06-12 23:22:57 +09:00
Jason Short f5a85d48a0 Added Angel's name to contrib list 2012-06-10 12:38:22 -07:00
rmackay9 aeaebb21d5 ArduCopter: updated firmware version to 2.6 Delta ahead of the next round of testing (and hopefully soon a release) 2012-06-08 21:54:09 +09:00
rmackay9 70b04d9427 ArduCopter: updated firmware description to 2.6 Gamma 2012-06-05 21:28:13 +09:00
Jason Short 1b9f75c844 Updates to Flip:
Ability to abort flip mode if things go wrong
init function to re-enter flip mode if aborted
2012-06-03 22:15:19 -07:00
rmackay9 72d76558a7 ArduCopter: Ensure update_GPS does nothing when gps is disabled.
This fixes a bug in which an APM without a GPS would not work because it would constantly scan for a valid GPS long after it should have given up and moved on.
2012-06-03 23:48:45 +09:00
rmackay9 fd6b21d0c7 ArduCopter: updated firmware version to 2.6Beta in preparation for beginning of testing 2012-06-03 17:02:35 +09:00
rmackay9 4544b37fec ArduCopter: updated firmware version to 2.6Beta in preparation for beginning of testing 2012-06-03 16:59:23 +09:00
Robert Lefebvre 5f058fb9b2 TradHeli: Incorporating Ext ESC Control 2012-05-30 21:50:25 -04:00
Jason Short dec6f0ca62 When RTLing, force home as the final location for loiter. 2012-05-30 11:06:41 -07:00
Jason Short 22065e3f3f Broken timer - removed 2012-05-29 12:56:38 -07:00
Jason Short 7c6f766251 Speed up automatic disarming to 25 seconds for safety.
renamed AUTO_ARMING_DELAY to AUTO_DISARMING_DELAY
2012-05-29 12:41:35 -07:00
Jason Short f491f5e9ca Removed references to a takeoff timer 2012-05-29 11:28:40 -07:00
Jason Short 08bf04dd08 pulling throttle low in flight turns out to be more common than thought. Removed clearing of takeoff_complete flag. This is still cleared during disarm which is automatic after 30 seconds of no throttle. 2012-05-29 11:25:04 -07:00
Jason Short 09f4a16bfb changed the way takeoff complete is figured. Looking for high throttle. 2012-05-29 11:25:04 -07:00
Jason Short 5754f97433 reversed circle_WP calculation so the next_WP refers to the destination around the circle and circle_WP refers to the center. The intent is to make it easier to see via ground station. 2012-05-27 09:21:20 -07:00
Jason Short 7df1aa2914 Arducopter.pde : setting rtl_approach_alt above 1 would force auto landing even if auto-landing was disabled. 2012-05-23 22:00:56 -07:00
Robert Lefebvre 4e4ff84cf1 Updates to CopterLEDS
Creation of Nav Blink Function.
2012-05-22 09:58:37 -04:00
Jason Short f6d8a18182 Added note 2012-05-21 09:58:23 -07:00
Jason Short 8d075015e1 added check for duplicate time-stamped GPS messages. 2012-05-18 09:54:18 -07:00
Jason Short 7e190c6f5c Arducopter.pde :
removed unneeded d_rate_filters
updated Nav routine to handle faster GPS updates
moved calc_XY_velocity to GPS read
added check for duplicate GPS reads
2012-05-17 11:05:05 -07:00
Jason Short d1cd04486a removed retro loiter code since Angel has a branch now.
shrank speed filter to avoid latency
removed unused forward estimator code

placed code for switchover to gps.groundspeed at 1.5m/s

added clamp for D term when below .5m/s to eliminate noise

added hybrid I-term based on speed error and position

changes Loiter D term to use position rather than acceleration to avoid noise
2012-05-15 22:14:23 -07:00
rmackay9 357d6c2d9b ArduCopter: bug fix for reversing tri servo
Extended AP_MotorsTri class to take in pointer to rc_tail servo (rc_7) and we use this servo's REV parameter to determine whether to reverse the output to the tail servo or not
2012-05-13 12:36:46 +09:00
rmackay9 2f74004fcb ArduCopter: updated version to 2.5.5 2012-05-13 08:47:43 +09:00
Andrew Tridgell 4fee26437b MAVLink: make ACM build with MAVLink 1.0 possible in arduino GUI 2012-04-24 22:24:58 +10:00
Adam M Rivera b2a7227ae7 ArduCopter/Navigation: Updated code to reference the new g.retro_loiter param instead of the compile define. 2012-04-23 00:19:18 -05:00
Adam M Rivera 97040a7b3a Merge branch 'master' of https://code.google.com/p/ardupilot-mega into auto-approach 2012-04-23 00:03:37 -05:00
Jason Short e22832a832 Added a union for casting floats to ints and back when storing Floats to the DataFlash 2012-04-21 15:17:09 -07:00
rmackay9 c993049c48 ArduCopter - combined CH6_DAMP and CH6_STABILIZE_KD tuning parameters to avoid confusion 2012-04-21 23:24:57 +09:00
rmackay9 3e95ade004 ArduCopter - changed optflow object to be APM2 version if necessary 2012-04-21 20:15:55 +09:00
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
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 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 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 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 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
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
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 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
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 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 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 e956e21e7d ACM: enable the new compass offset nulling in ACM 2012-03-27 15:37:24 +11: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
rmackay9 1dd554c333 ArduCopter - updated version to 2.5.1 2012-03-20 17:08:18 +09: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
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
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 1c0b28c956 Fixed Scaling bug in Sonar mixing 2012-03-16 14:10:19 -07: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 7953808d14 ACM: Larger filter for Loiter D 2012-03-13 10:23:30 -07:00
Jason Short 0ab6b6e592 ACM: Rate_d filter for PID loop of Loiter. 2012-03-11 23:21:49 -07:00
Jason Short 77fe7de55d ACM: The I term in update_nav_wp with the no_nav condition was pulling from the wrong PID loop and was essentially 0 all the time. 2012-03-11 23:21:49 -07:00
Andrew Tridgell 2a03a0584f AP_Declination: disable library when AUTOMATIC_DECLINATION is not ENABLED
unfortunately this library was causing avrdude to fail to load the hex
to my APM2. Until we work out why, it's disabled.
2012-03-11 21:46:41 +11:00
Adam M Rivera d3667faef4 AP_Declination: Added call to compass.set_initial_location if the compass is enabled when the 3D fix is obtained.
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2012-03-11 20:59:47 +11:00
Jason Short 62c2aa4924 ACM: Added Loiter D tuning 2012-03-10 14:17:57 -08:00
Jason Short 0671bb9168 ACM: Firmware rev 2012-03-10 12:45:03 -08:00