LeonardTHall
4203655646
New Yaw controller using rate feed forward and stabilize.
...
Signed-off-by: LeonardTHall <LeonardTHall@gmail.com>
2012-10-15 11:37:49 +09:00
rmackay9
254fff6acd
ArduCopter: fixed acro mode
...
Changes included:
Removing earth frame roll_rate_trim, pitch_rate_trim and yaw_rate_trim.
Switch ACRO mode to use YAW_ACRO instead of YAW_HOLD.
Changed YAW_ACRO to use stabilize yaw when axis_enabled.
Reset ACRO roll, pitch and yaw targets to current attitude when first entering ACRO.
2012-10-14 17:47:46 +09:00
rmackay9
9052b4152b
ArduCopter: remove unnecessary (probably slightly harmful) extra barometer read
...
The barometer reads including reading temperature was all moved to a timer but this extra read (originally to read the temperature) was probably forgotten.
2012-10-11 18:31:10 +09:00
rmackay9
b5c1e23549
ArduCopter: changed sin_pitch and sin_roll to faster equivalents
2012-10-11 17:54:42 +09:00
Andrew Tridgell
2af5ff896d
ACM-HIL: fixed optflow declaration
2012-10-11 11:51:25 +11:00
Pat Hickey
74d5b1b841
ArduCopter: Provide AP_Semaphore instance for SPI3 bus on APM2.
2012-10-09 11:39:39 -07:00
rmackay9
0050232ae2
ArduCopter: failsafe added to shutdown motors if mainloop fails
2012-10-09 12:30:17 +09:00
rmackay9
ae05bc62f6
ArduCopter: added AP_Semaphore to list of includes
2012-10-06 12:41:58 +09:00
rmackay9
a35543bf96
ArduCopter: prioritise rate controllers, rate controller targets converted to body frame
2012-10-03 14:10:31 +09:00
rmackay9
fc4f4d76c9
ArduCopter: allow DMP to run in parallel with DCM
...
Parallel DMP can be enabled by #define SECONDARY_DMP_ENABLED in APM_Config.h
New DMP dataflash log type added to allow easy comparison with DCM
2012-09-30 00:25:40 +09:00
rmackay9
4bca609b9f
AP_InertialSensor_MPU6000: replaced _cs_pin parameter with #define and saved 1 byte of memory
...
Updated ArduCopter, ArduPlane and example sketches in AP_InertialSensor, AP_IMU and AP_AHRS libraries because they no longer need to pass in cs_pin to the constructor
2012-09-28 19:21:59 +09:00
rmackay9
ebbf8dc6be
ArduCopter: updated version to 2.7.4-Beta
2012-09-25 23:39:15 +09:00
rmackay9
090a672636
ArduCopter: optical flow initialisation changes now that optical flow library automatically works on APM1, APM2 and APM2.5
2012-09-24 18:39:33 +09:00
rmackay9
aaab3c08aa
ArduCopter: added throttle curve (although disabled by default) for all multicopters
2012-09-18 23:05:08 +09:00
Andrew Tridgell
14d19ac33d
ACM: updates for new GPS detection
...
a GPS can now be attached after startup
2012-09-17 14:45:47 +10:00
rmackay9
9965dd8b1a
HIL: changes to fix HIL for ArduCopter after recent timing changes.
...
Changes include using AP_PeriodicProcess and calling imu.init even in HIL mode
2012-09-15 18:42:56 +09:00
rmackay9
54d07f6d04
ArduCopter: removed INSTANT_PWM from ArduCopter and AP_Motors library
2012-09-13 21:31:13 +09:00
Jason Short
b56dc44e61
ACM : Fix enduf
2012-09-10 21:25:53 -07:00
Jason Short
24f80c632c
ACM : forced setup_show to dump params during log dump for better analysis.
2012-09-10 20:52:30 -07:00
Jason Short
65dc4ccc6d
ACM : Added centralized Iterm logging at a lower rate. Logs all iterms.
2012-09-10 20:26:48 -07:00
Andrew Tridgell
ea78121f1b
ACM: use spare CPU cycles to read the magnetometer
2012-09-10 11:38:18 +09:00
rmackay9
7a0189fb2c
ArduCopter: modified mainloop timing to be in sync with the arrival of new data from the IMU.
...
This reduces the maximum delay between when new sensor data arrives and when it is actually used by about 5ms.
2012-09-10 11:37:53 +09:00
Andrew Tridgell
1fecd135ef
ACM: use compass.accumulate() in ArduCopter
...
this gives us a much less noisy magnetometer
2012-09-08 10:06:04 +10:00
rmackay9
af2502c739
ArduCopter: upgraded firmware version to 2.7.3
2012-09-02 12:58:16 +09:00
rmackay9
3e6966c33d
ArduCopter: fixes to allow AP_Mount to work on APM1 with original default channels and fix to reenable support for 3-axis gimbals on APM2.
...
Channels 5 to 11 changed to RC_Channel_aux.
Removed channel 9 because APM_RC doesn't support it in any case.
Updated EEPROM format version to 119 because of the change to RC_Channel_aux and because k_param_rc_11 moved to be after k_param_rc_10.
2012-09-02 12:51:23 +09:00
Craig Elder
c83d1402fb
Arducopter: Release 2.7.2
2012-08-31 19:18:10 -07:00
Jason Short
91bc3705c1
ACM : revert back to the 2.6 climb rate calc
...
The current filter is outputting wild oscillations.
2012-08-28 21:22:07 -07:00
Craig Elder
94957b3529
Arducopter: Preparing for 2.7.2 Release
2012-08-28 18:30:41 -07:00
Jason Short
52def45ba0
ACM: Altitude Adjust
2012-08-28 15:40:08 -07:00
Jason Short
24486c75b5
ACM : Log Timing
2012-08-28 15:40:08 -07:00
uncrustify
e4932136d9
uncrustify ArduCopter/ArduCopter.pde
2012-08-21 19:19:50 -07:00
Andrew Tridgell
bd6581c523
AHRS: removed Quaternion build support from APM/ACM/rover
2012-08-22 10:42:21 +10:00
Andrew Tridgell
85e8ba7993
ACM: fixed TradHeli build
2012-08-22 09:55:31 +10:00
Robert Lefebvre
e1d6103045
TradHeli: Creating Flybar Acro mode.
2012-08-21 16:54:01 -04:00
rmackay9
1dd8606b17
ArduCopter: changed reset_throttle_counter to uint8_t to get rid of overflow bug that was preventing target altitude from being locked in after pilot input down throttle.
2012-08-19 11:50:35 +09:00
Jason Short
123545f679
ACM : Alt hold adjustment - made angle boost work during alt hold changes.
...
increased length of delay when reverting to automatic hold to deal with latency of baro sensor
2012-08-18 09:30:46 -07:00
rmackay9
7a31e4e660
ArduCopter: modified altitude hold so that 1 second slow down period is executed after pilot moves throttle back into deadzone
2012-08-18 21:45:49 +09:00
Jason Short
cbf4870b00
ACM : Made control_roll and pitch global for logging; made yaw towards waypoint use initial angle and not a recalculated angle to deal with wiggles as we approach WP
2012-08-16 15:39:50 -07:00
rmackay9
48b7d26c5d
ArduCopter: changed all "int" to "int16_t" and a few "long"s to "int32_t".
...
Also moved "simple_counter" variable from global scope to the "update_simple_mode" function which is the only place that it's actually used.
2012-08-16 20:04:46 +09:00
Jason Short
cbd4661b96
ACM: Added a filtered version of Location for GPS lag.
...
I did this because when you are close to a WP the Yaw angle can go a bit wacky as the location jumps around. The filtered loc is only used in the wp_distance calculation now.
2012-08-14 14:11:51 -07:00
Jason Short
ba6ec9ae45
ACM: Revved the version
2012-08-14 14:11:51 -07:00
Jason Short
455cfa4caa
ACM: Toy mode updates - added second toy mode
2012-08-11 22:37:27 -07:00
Andrew Tridgell
d0709443b4
AHRS: fixed build
...
AP_Airspeed.h is now needed to build AHRS
2012-08-11 12:22:55 +10:00
Jason Short
0688eee9bc
ACM : Added larger WP radius for fast waypoints so we don't loose speed angling in on the WP at the last second.
2012-08-10 10:02:32 -07:00
Jason Short
7615c835ee
ACM : Arducopter.pde
...
command_nav_index upped to in16t for negative number
renamed trim flag > CH7_flag
Added fast_corner var
removed unused alt vars
Alt hold I term update
2012-08-09 16:59:43 -07:00
Amilcar Lucas
1683f18bff
Allow fully independent operation of two AP_Mount instances
2012-08-08 23:11:23 +02:00
Amilcar Lucas
f321f5d9c5
Add a second mount instance
2012-08-08 23:07:25 +02:00
Andrew Tridgell
295a9ce39c
ACM: change to use get_bearing_cd() instead of get_bearing()
2012-08-08 12:12:30 +10:00
Andrew Tridgell
d8106cf20f
AP_Param: update ArduCopter core for new AP_Param interface
2012-08-08 12:11:57 +10:00
Amilcar Lucas
ff32fed176
ArduCopter: Use generic channel names for AP_Mount servos.
...
This simplifies mission planner, the same code can be used for plane and copter now.
2012-08-06 23:33:51 +02:00
Amilcar Lucas
03b902d4b7
Add me :)
2012-08-06 00:40:12 +02:00
Amilcar Lucas
36bcd827b4
AP_Mount: Allow using any RC channel to control any of the mount axes.
...
This has the added benefit of saving 60 bytes and simplifying Mission Planner gui.
Moved some code from RC_Channel_aux to AP_Mount class
The servos get written by the update_mount_position() function, this simplifies main()
PS: The beauty of using libraries: I did not have to touch a single line of ArduPlane's code!
2012-08-05 23:48:57 +02:00
Amilcar Lucas
fe4713b46e
RC_Channel: Allow each channel to know who they are, this simplifies the enabling and output function calls.
2012-08-05 23:08:31 +02:00
Amilcar Lucas
9b31938519
The mount type must be updated periodically
2012-08-04 18:44:08 +02:00
rmackay9
64f027bf42
ArduCopter: bug fix to reset yaw target when zero and when in stabilize or acro mode.
2012-08-01 12:15:02 +09:00
Andreas M. Antonopoulos
005b3d7f62
AC2.7.1: Updated version and tag
2012-07-31 13:11:17 -07:00
rmackay9
38ff381620
ArduCopter: reset target yaw when throttle is zero (except if failsafe has been triggered)
2012-07-28 23:05:05 +09:00
rmackay9
07a8d0cc99
ArduCopter: fixed HIL build by removing ability to change _kp and _kp_yaw gains (used for accel and gyro sensor mixing)
2012-07-28 16:22:35 +09:00
rmackay9
83ab9be0eb
ArduCopter: added DMP_ENABLE #define and CH6 tuning value for AHRS_KP
2012-07-28 14:21:07 +09:00
Michael Oborne
78b94f39ae
AC fix sitl attitude hil build
2012-07-24 21:18:36 +08:00
Andreas M. Antonopoulos
f8a9cdd8cd
AC: ArduCopter 2.7 release candidate - updated THISFIRMWARE constant.
2012-07-21 17:52:06 -07:00
Jason Short
9cf36c553c
ACM: Fixed Baro rate patch to work with Sonar and added simple filter
2012-07-21 16:45:00 -07:00
Jason Short
e585eaa253
Ardcucopter: RTL distance check update, reset I terms fixed.
2012-07-20 13:27:35 -07:00
Jason Short
c1186abf65
Arducopter: cleanup, skip out of throttle control when flipping.
2012-07-19 22:35:21 -07:00
Jason Short
8f7eba4fd1
Arducopter.pde: Increased the throttle Hold altitude control
...
simplified Yaw reset
2012-07-19 17:38:25 -07:00
Jason Short
bc843b0684
Arducopter: Adjust landing speed
...
removed commented out calc_loiter_pitch_roll calls
Changed updateRTL to use 1m be default instead of wp_radius to avoid poor loiter entry speed.
2012-07-19 09:48:31 -07:00
Jason Short
1595a662c0
Arducopter
...
removed old Var
2012-07-18 22:57:10 -07:00
Jason Short
f40d8f04af
Arducopter: New Alt control code
...
Uses a new method to manage altitude changes. Alt hold controller was split into a hold and a rate controller just like navigation. Changing alt is done by specifying a climb rate.
Interactive alt hold is now simplified and is an 80cm climb or descent.
2012-07-18 22:57:10 -07:00
Jason Short
095a9c5c96
Arducopter: Flip mode
...
Flip mode graduates to pre-compiled option
2012-07-18 22:57:10 -07:00
rmackay9
6ca8fda76d
ArduCopter.pde: added call to set_manual_rc_channel to allow pilot's channel 6 to control pitch.
...
This initialisation code should be moved to init_ardupilot and/or into the AP_Mount library.
2012-07-18 23:49:09 +09:00
Andreas M. Antonopoulos
b03e424fda
AP_Limits: Configuration defaults moved to config.h. Fixed AP_LIMITS==DISABLED handling.
2012-07-16 11:46:43 -07:00
rmackay9
9276c68f80
ArduCopter: added enable_out_ch and output_ch calls for rc_camera_roll, pitch and yaw servos so they actually move
2012-07-15 16:38:28 +09:00
Andreas M. Antonopoulos
31fd74d94c
AP_Limits library, provides modular "limits" such as altitude and geo-fencing.
2012-07-14 19:26:17 -07:00
Jason Short
3ce48cb42c
Arducopter: Yaw stop fix
2012-07-14 12:23:10 -07:00
Robert Lefebvre
ef9cd54035
Implementing Yaw Fix. Tried to blend with Jason's changes.
2012-07-14 00:24:22 -04:00
Jason Short
9eb638dac8
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
ce0de98144
Arducopter: Wrong define used, caused Copter to Yaw to home when flying missions
2012-07-13 12:51:38 -07:00
Jason Short
bfce0ad9c5
Arducopter: Fix circle_WP
2012-07-12 09:22:20 -07:00
Jason Short
1bd1975e2e
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
9de2c00d93
Arducopter: WP_radius
...
Switching to stored WP_radius in meters, just like Arduplane
2012-07-10 21:53:38 -07:00
Amilcar Lucas
8e14ebbc10
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
86cab799ed
arducopter.pde
...
Timer was set =0 at initialization.
2012-07-09 13:13:32 -07:00
Jason Short
207497a840
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
0aabd4efe2
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
e5fbcb629d
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
b199fb22a2
Added code for self centering throttle - disabled by default.
2012-07-01 13:40:11 -07:00
Jason Short
60cdbe771c
Circle_WP distance check fix
2012-06-29 21:20:28 -07:00
Jason Short
146a4b021f
Arducopter.pde: Added Toy mode refinements
2012-06-29 21:20:27 -07:00
Jason Short
c830ab6ded
Aeducopter.pde: Toy mode updates
2012-06-29 21:20:27 -07:00
Andrew Tridgell
1cb96e14a9
SITL: enable the SIM_* parameters in ArduCopter and ArduPlane
2012-06-29 15:10:52 +10:00
Adam M Rivera
44ce8fc4bc
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
7883c4a545
ACM: ArduCopter updates for new compass interface
2012-06-27 16:01:50 +10:00
Andrew Tridgell
7eb150a2f0
ACM: adapt the ArduCopter code for new barometer interface
2012-06-27 16:01:50 +10:00
Andrew Tridgell
d71e82191f
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
3fcd3100cc
Added user editable define for Super simple radius
2012-06-26 10:38:46 -07:00
Jason Short
4872880134
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
8ef60f2d75
Added throttle_min as a user definable param
2012-06-20 14:58:34 -07:00
rmackay9
6b16ca190f
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
6dc1e02f76
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
c9093a1609
ArduCopter: updated firmware version to 2.6 Epsilon
2012-06-12 23:22:57 +09:00