Commit Graph

878 Commits

Author SHA1 Message Date
Pat Hickey 36389cdbd8 ArduCopter Octa: fix yaw motors for Octa V.
* I based this off the APM1 Octa V diagram at
  http://code.google.com/p/arducopter/wiki/AC2_Multi
2012-01-31 19:37:49 -08:00
Pat Hickey 6a333b743a Arducopter Motors Octa: Change V frame MOT_ output ordering.
* I backed this out from Max's changes, but I'm not sure whether its correct.
2012-01-31 18:19:41 -08:00
Pat Hickey 7ca81bd2c9 hexa frame FRAME_CONFIG fixup 2012-01-31 18:19:41 -08:00
Pat Hickey a24f89fb6d Arducopter Motors Octa: revert OCTA_V_FRAME back to part of OCTA_FRAME 2012-01-31 18:19:41 -08:00
Pat Hickey 0735c2b62f Arducopter Motors Hexa: Change ordering of MOT designations in Plus frame
* This will change the output order for APM2, but not APM1.
2012-01-31 18:18:13 -08:00
Pat Hickey dbd1cc6a9f Arducopter Motors Hexa: Revert HEXA_PLUS_ and HEXA_X_ to single HEXA_FRAME 2012-01-31 18:18:13 -08:00
Pat Hickey b245265669 Arducopter Frames: revert to old HEXA_FRAME and OCTA_FRAME defines.
* HEXA_X_FRAME and HEXA_PLUS_FRAME merged back into HEXA_FRAME
* OCTA_V_FRAME merged back into OCTA_FRAME
2012-01-31 18:18:13 -08:00
Pat Hickey 0e9294538b Add Max's changes for new MOT mappings. Defines new FRAME_CONFIG types.
* HEXA_FRAME has been eliminated and changed to HEXA_X_FRAME and
  HEXA_PLUS_FRAME
* OCTA_FRAME stays the same name for X and +, but the V frame
  configuration requires new OCTA_V_FRAME name.
2012-01-31 18:18:13 -08:00
Randy Mackay b851d39eaa OptFlow - reenable OF_LOITER pid controller and reduce I term 2012-02-01 08:04:18 +09:00
Jason Short 21bd48b6c3 Loiter PIDs 2012-01-30 21:13:03 -08:00
Jason Short 8aaf88e13b tweaks to Loiter 2012-01-30 21:13:03 -08:00
Jason Short 90099d4a42 ATT tuning update 2012-01-30 21:13:03 -08:00
Jason Short f225efef9f tuning 2012-01-30 21:13:03 -08:00
Jason Short 08a9249e2b cosmetic 2012-01-30 21:13:03 -08:00
Jason Short 5934b503b8 tuning fixes 2012-01-30 21:13:03 -08:00
Jason Short 31614c39dd Cosmetic 2012-01-30 21:13:03 -08:00
Jani Hirvinen 009e87105f Minor changes for PID for jDrones motors due latest changes on control laws. 2012-01-31 09:00:31 +07:00
Jason Short 23709bafef pid_nav_lat incorrectly labeled 2012-01-29 23:02:00 -08:00
Jason Short a3862ced62 cosmetic 2012-01-29 21:55:17 -08:00
Jason Short 46e08fb46a Added more attributions 2012-01-29 21:53:44 -08:00
Jason Short ae65a0f03f removed filter. Don't need it. 2012-01-29 17:10:52 -08:00
Jason Short bf2cc6072d limiting alt hold rate error to 1m/s 2012-01-29 17:08:34 -08:00
Jason Short 02aacc454b Lowering the throttle_P values by default 2012-01-29 16:27:13 -08:00
Jason Short 650c0ed3f1 made Loiter over ride exit dependent not on speed, but centered sticks. 2012-01-29 16:15:02 -08:00
Randy Mackay 693a2cfdcd TradHeli - fix to servo limits. They had been unnecessarily limited to the collective pitch's min and max but actually there are cases (for example when the swash is leaning over 45degrees) where one servo goes well beyond the collective pitch's min or max. 2012-01-29 21:14:37 +09:00
Randy Mackay 974c825f4a Optflow - minor fix to D term defaulting 2012-01-29 21:06:41 +09:00
Jason Short 67cd412105 Landing update for better baro landing 2012-01-28 22:35:57 -08:00
Jason Short 5ab37a346c reduce test.pde size for 1280 users 2012-01-28 22:16:24 -08:00
Jason Short 7833cea9d4 2.2B6 - Please verify Heli still functions properly.
Added AC_PID lib
Updated landing code
bug fixes
2012-01-28 22:00:05 -08:00
Jason Short 295631139a formatting 2012-01-28 21:19:46 -08:00
Jason Short d1fcebb5ca Cosmetic changes
GPS LED lock waits for home_is_set to be true
2012-01-28 21:19:46 -08:00
Jason Short 326a663c6b changed tuning range 2012-01-28 21:18:43 -08:00
Randy Mackay f3a95ff3cb Arducopter - Tri - move yaw servo (channel7/motor7/CH_TRI_YAW) to mid point on startup 2012-01-28 10:13:58 +09:00
Randy Mackay 122623f64b OpticalFlow - added OF_LOITER flightmode 2012-01-28 09:27:16 +09:00
Pat Hickey 1dcd50e3be ArduCopter Tri: fix for enable_out of yaw servo, defined yaw servo for APM2 2012-01-27 07:39:01 -08:00
Randy Mackay 8dee001657 Sonar - changed default pin to A0 2012-01-26 22:50:48 +09:00
Pat Hickey 6c03307217 ArduCopter Heli: add motors_output_enable function 2012-01-25 22:41:09 -08:00
Randy Mackay 2c906b7b27 OpticalFlow - replaced PI controller with PID controller.
Modified optical flow hold to use aggregated position instead of speed.
2012-01-25 21:55:14 +09:00
Randy Mackay 4434ddf389 Optical flow - updated standard frame rate to 2000hz and increased resolution to 1600cpi 2012-01-25 21:53:20 +09:00
Jason Short 25529dec69 added loiter_d to allow users to configure alternate Loiter alg 2012-01-22 14:19:27 -08:00
Jason Short 74daadb252 Revert "test to switch loiter controls"
This reverts commit 92270371d038f246d535f0ace9fc19272c44291d.
2012-01-22 14:19:27 -08:00
Jason Short 6476ba22f2 test to switch loiter controls 2012-01-22 12:28:34 -08:00
Pat Hickey 89e11afc09 ArduCopter: Call APM_RC.enable_out for camera channels in init_camera() 2012-01-22 12:03:11 -08:00
Pat Hickey 98a90d0352 ArduCopter: Call motors_output_enable at correct spot during init 2012-01-22 12:03:11 -08:00
Pat Hickey 04a3112f33 ArduCopter: Add implementation of motors_output_enable to each motors_ frame type 2012-01-22 12:03:11 -08:00
Jason Short dd1e08a7e0 Causes Aero_SIM to fail 2012-01-22 09:34:43 -08:00
Jason Short 1d9783652a added Beta 4 tag 2012-01-21 22:15:23 -08:00
Jason Short 60e3508f7c converted to cm
Signed-off-by: Jason Short <jasonshort@mac.com>
2012-01-21 22:14:08 -08:00
Jason Short aace39e65c Converted distance gains to CM
added loiter_d for rate control, equal to old Nav_P gain
2012-01-21 22:13:57 -08:00
Jason Short fffa1af3b3 Fixed speed governor which was letting speed get to 0.
added Loiter_d to replace Nav_P for rate control
wp_distance calc now returns CM
2012-01-21 22:12:57 -08:00
Jason Short f638a4b81d recording nav_bearing rather than target bearing
recording x and y speed rather than Iterms for nav since they are always 0 now
2012-01-21 22:10:28 -08:00
Jason Short 2fa24e0557 added conversions of CM to M 2012-01-21 22:09:39 -08:00
Jason Short 7edd16e5fe Added Loiter_D to replace Nav_P for better separation of loiter and navigation tuning.
Upped Nav_P defaults to 3 based on windy flight testing
Added minimum WP speed define of 1m/s
Upped loiter_I for better wind performance - was not seeing any overshoot in logs
Made Nav_I default of 0, since we are not using it in the code.
2012-01-21 22:09:13 -08:00
Jason Short 59d1f225d5 convert command into CM from M
Making Landing boost be one at minimum to trigger better navthrottle output
2012-01-21 22:06:35 -08:00
Jason Short f3cc1121aa better default for speed governer 2012-01-21 22:05:48 -08:00
Jason Short 5cc19bbe7c slightly less filtering for less latency 2012-01-21 22:04:54 -08:00
Jason Short 9003b95499 Converted to cm for distance 2012-01-21 22:04:35 -08:00
Jason Short 8cb645f3c2 increasing the velocity near WP 2012-01-21 11:59:49 -08:00
Jason Short 1aa6d0ea08 limiting the pitch throttle compensation 2012-01-21 11:59:49 -08:00
Jason Short ab5716c42d Calc error for logs 2012-01-21 11:59:49 -08:00
Jason Short 7c25253422 Enabled auto throttle hold 2012-01-20 22:52:31 -08:00
Jason Short 7fb641ab77 added note 2012-01-20 22:52:31 -08:00
Jason Short fb72ecd4e4 formatting 2012-01-20 22:52:31 -08:00
Jason Short 127544b833 Added cast for comparison 2012-01-20 22:52:30 -08:00
Jason Short 42b1362bba cleanup 2012-01-20 22:52:30 -08:00
Jason Short 5ac26a5500 error on comparison operator 2012-01-20 22:52:30 -08:00
Jason Short 5180592913 Added Auto_land_timeout to params 2012-01-20 22:52:30 -08:00
Jason Short c190f83bb0 AutoLanding timeout for Mission Planner 2012-01-20 22:52:30 -08:00
Jason Short a22596fb33 Max throttle output was to high 2012-01-20 22:52:30 -08:00
Jason Short 19053bb725 Updated Firmware version 2012-01-20 22:52:30 -08:00
Jason Short f5fd3a0597 reset all I terms at Arming 2012-01-20 22:52:30 -08:00
Jason Short 287ffb5fb4 enabled Mavlink Land command 2012-01-20 22:52:30 -08:00
Jason Short 6784989e83 relocated reset_I term functions to central location 2012-01-20 22:52:30 -08:00
Jason Short d2c78d2b75 Stab_D changes units with the new dampening controller updates
Stabilize roll is raised to .1 - Flies great, and avoids a slow oscillation that could be affecting loiter.
Loiter P lowered to 1.5 based on feedback
2012-01-20 22:52:30 -08:00
Jason Short 932869b686 renamed function 2012-01-20 22:52:30 -08:00
Jason Short 43365fe802 Verify land updates from JLN
Effectively a throttle control for landing that mimics a person lowering the throttle.
2012-01-20 22:52:29 -08:00
Jason Short ed32ad30fd Refined the D term for stabilize
moved all the rest_I terms from code into 1 central place
2012-01-20 22:52:29 -08:00
Jason Short 5141534ea9 B3 2012-01-20 22:52:29 -08:00
Jason Short db6db1ab91 set dampening range from 0 - .08 from 0 to .6. The new dampening code has changed units.
added the ability to force nav_throttle so we  don't get ground effects screwing up baro sensor.
Added more descriptive Rest_I functions
2012-01-20 22:52:29 -08:00
Jason Short 6e94b21d67 Altitude no longer resets when moving loiter WP 2012-01-20 22:52:29 -08:00
Jason Short 85f10589b2 slowed down slightly 2012-01-20 22:52:29 -08:00
Jason Short 017364fc5b Lowered range to more sensible values 2012-01-20 22:52:29 -08:00
Jason Short 2831ff9148 Off by default 2012-01-20 22:52:29 -08:00
Michael Oborne 3142a75913 AC fix attitude level hil 2012-01-21 07:52:52 +08:00
Michael Oborne 95f58b0432 fix scale error 2012-01-21 06:33:18 +08:00
Michael Oborne 1bebb9452b AC sync battery code with arduplane 2012-01-21 06:29:09 +08:00
Michael Oborne 52a9bb3cd1 fix SITL attitude hil AC 2012-01-20 16:32:25 +08:00
Doug Weibel ed9f7cb1b6 Update battery monitoring code for ArduCopter
Fixes compatibility for APM2.  Also a significant update to the battery monitoring code:  We previously had monitoring modes for individual cell voltages for 3 and 4 cell lipos.  These have been removed as they were never really supported (the cell voltages were computed but were not reported or recorded anywhere).  Also, some clean-up/prep work was done for supporting monitoring 2 separate battery packs.  The CLI battery and current monitoring tests were consolidated into 1 test.
changed
2012-01-15 17:10:02 -07:00
Doug Weibel 0306bf97a0 Just a little more commenting work on global variables 2012-01-15 16:11:02 -07:00
Jason Short e2c2a453a8 APM2 Channel assignments 2012-01-15 10:24:16 -08:00
Jason Short 3ebed0b278 This allows users to test the Auto_throttle hold or cruise value 2012-01-14 11:43:52 -08:00
Jason Short 46ef246e67 b2 2012-01-14 11:37:00 -08:00
Jason Short 0ae82da0fd Fix for SIMPLE mode 2012-01-14 11:32:48 -08:00
Jason Short 72faa6525e Tweak to make circle mode scripting more accurate 2012-01-14 11:21:50 -08:00
Jason Short 89343ae306 adjusted GPS watch dog not to be so aggressive,
removed unneeded flag clearing
2012-01-14 11:20:40 -08:00
Jason Short 95ac9d163e lowered Loiter I, commented out unused var 2012-01-14 11:20:40 -08:00
Jason Short c02b403a06 temp removed alt D term until more testing 2012-01-14 11:20:40 -08:00
Jason Short 1843798697 Clarified the Increment for WP total 2012-01-14 11:20:40 -08:00
Jason Short f97d58c753 added notes, removed redundant save wp_total 2012-01-14 11:20:40 -08:00
Jason Short 7877a872d3 added update throttle cruise function 2012-01-13 16:48:05 -08:00
Jason Short 1269b07d9a Made RTL always the current Altitude 2012-01-13 16:47:38 -08:00
Jason Short ec9880f725 made resetting throttle cruise a function 2012-01-13 16:47:08 -08:00
Jason Short 6591089110 Disabled Ryans filter until we get real-world testing in. 2012-01-13 12:48:02 -08:00
Jason Short 8d909f6eed fixed GPS bug - moved to fast loop location 2012-01-13 12:47:22 -08:00
Jason Short c327a9f000 made landing shoot for below home by 2 meters to avoid bounce up. 2012-01-13 12:46:40 -08:00
Jason Short 7c475f178c tuned down Alt hold D gain 2012-01-13 09:36:51 -08:00
Jason Short 4eacc6f3eb re-enabled relay test 2012-01-13 08:55:02 -08:00
Jason Short ee7c948781 Added simple constrain for Alt d term 2012-01-13 08:49:55 -08:00
Jason Short b0810e054e moved GPS routines to 50hz loop to avoid delay. 2012-01-12 22:59:47 -08:00
Jason Short 648a404ee1 Version 2.2 2012-01-12 22:37:33 -08:00
Jason Short 91e05834c8 removed wind comp code,
Added Landing boost code
2012-01-12 22:28:58 -08:00
Jason Short 4459fc4e34 Added a small D term on alt hold 2012-01-12 22:28:58 -08:00
Jason Short 6b85adb460 Added Landing throttle control to force down the copter 2012-01-12 22:28:58 -08:00
Jason Short 154411c96c removed unused defines
lowered default Loiter gain
2012-01-12 22:28:58 -08:00
Jason Short 569ff5046f Added Ryan's GPS lag filter
Removed unused code
refined alt change
2012-01-12 22:28:58 -08:00
Jason Short a59c9ae22c added notes 2012-01-12 22:28:58 -08:00
Doug Weibel 9846822748 Bug fix for compass.
This is a fix for an interesting bug when a DCM matrix reset was added to the ground start.  This bug only showed up if (A) a ground start were performed after an air start or due to use of the "Calibrate Gryo" action, (B) if the current orientation were sufficiently different from 0/0/0, and (C.) if the particular magnetometer had sufficiently large offsets.  Why did resetting the DCM matrix to 0/0/0 pitch/roll/yaw at ground start cause a bug?  The magnetometer offset nulling determines the proper offsets for the magnetometer by comparing the observed change in the magnetic field vector with the expected change due to rotation as calculated from the rotation in the DCM matrix.  This comparison is made at 10Hz, and then filtered with a weight based on the amount of rotation to estimate the offsets. Normally it would take considerable time at normal in-flight rotation rates for the offset estimate to converge. 

If a DCM matrix reset occurs when the offset nulling algorithm is up and running, the algorithm sees the DCM reset as a instantaneous rotation, however the magnetic field vector did not change at all.  Under certain conditions the algorithm would interpret this as indicating that the offset(s) should be very large.  Since the "rotation" could also have been large the filter weighting would be large and it was possible for a large erroneous estimate of the offset(s) to be made based on this single (bad) data point.

To fix this bug methods were added to the compass object to start and stop the offset nulling algorithm.  Further, when the algorithm is started, it is set up to get fresh samples.  The DCM matrix reset method now calls these new methods to stop the offset nulling before resetting the matrix, and resume after the matrix has been reset.
2012-01-12 14:44:24 -07:00
analoguedevices 70b7951366 Eliminated second instance of APM2 #defines 2012-01-12 20:38:41 +00:00
Jason Short a7bce15365 R10 2012-01-11 22:41:51 -08:00
Jason Short 99ea69ef7b New Loiter control 2012-01-11 22:41:51 -08:00
Jason Short 257890d5be New Loiter Gains for new Loiter methods 2012-01-11 22:41:51 -08:00
Jason Short 98f637282b moved to verify_land 2012-01-11 22:41:51 -08:00
Jason Short 5e9db462f5 attempting to force down without using Manual boost. 2012-01-11 22:41:51 -08:00
Jason Short f35411ac45 R9 2012-01-10 23:46:08 -08:00
Jason Short 84e001594d comma 2012-01-10 23:45:33 -08:00
Jason Short 4b54887c6c Switched to set_next_WP for mode switches 2012-01-10 23:43:44 -08:00
Jason Short 6b836d1a09 Fixed Type Error 2012-01-10 23:43:44 -08:00
Jason Short c4476bdd80 Fixed type error 2012-01-10 23:43:44 -08:00
Jason Short 3e8ff39d4b Climb rate control 2012-01-10 23:43:44 -08:00
Jason Short a79d302b98 added set_new_altitude call() 2012-01-10 23:43:44 -08:00
Jason Short e102cb9e6a Added ending for auto landing 2012-01-10 23:42:27 -08:00
Jason Short 3a5ffc252d updated climb rate control
Land detector
2012-01-10 23:42:27 -08:00
Jason Short acd877abda added set_new_altitude call 2012-01-10 23:42:27 -08:00
Jason Short f36aba8af2 climb rate control 2012-01-10 23:42:26 -08:00
Jason Short 5a91396f63 Added climb rate control
removed unused vars
2012-01-10 23:42:26 -08:00
Jason Short dab4fb43d4 Added altitude change flags 2012-01-10 23:42:26 -08:00
Jason Short 351be7c305 Made timer unsigned 2012-01-10 23:42:26 -08:00
Jason Short 7b8767d846 Added comments 2012-01-10 23:42:26 -08:00
Jason Short b1e971ea18 added location error calc to get better data. Otherwise we'll be 1 GPS read off. 2012-01-10 23:42:26 -08:00
Jason Short 5f55780b5e Added comments
moved out failsafe check. otherwise the reporting was erroneous.
2012-01-10 23:42:26 -08:00
Jason Short 92f7b22722 Moved failsafe check to more logical place 2012-01-10 23:42:26 -08:00
Jason Short cf92631d33 added #if to wind compensation code 2012-01-10 23:42:26 -08:00
Pat Hickey fc6321b7ca ArduCopter motors_y6: rewrite CH_ macros with MOT_ macros 2012-01-09 22:06:49 -08:00
Pat Hickey 927e60d85b ArduCopter motors_y6: rewrite loop in terms of motors 2012-01-09 22:06:49 -08:00
Pat Hickey ac7f6a5602 ArduCopter motors_tri: rewrite CH_ macros with MOT_ macros
* Third Tricopter motor was on CH_4, so it is called MOT_4. This
  will be changed in a subsequent commit.
2012-01-09 22:06:49 -08:00
Pat Hickey 73610ddb6c ArduCopter motors_octa_quad: rewrite remainder from CH_ macros to MOT_ macros 2012-01-09 22:06:48 -08:00
Pat Hickey 7f4c994346 ArduCopter motors_octa_quad: rewrite loop in terms of motors 2012-01-09 22:05:01 -08:00
Pat Hickey e2be119433 ArduCopter motors_octa: rewrite remainder from CH_ macros to MOT_ macros 2012-01-09 21:57:02 -08:00
Pat Hickey 46b8037a73 ArduCopter motors_octa: rewrite janky loops to use ch_of_mot
* Previously the loop was written over channels, now it is over motors
* the correct channel for that motor is determined by ch_of_mot.
* ch_of_mot is defined correctly based on the config_channels macros.
2012-01-09 21:57:02 -08:00
Pat Hickey 79030a84b8 ArduCopter motors_hexa: rewrite remainder from CH_ macros to MOT_ macros. 2012-01-09 21:57:02 -08:00