Commit Graph

3128 Commits

Author SHA1 Message Date
Andrew Chapman 3f0a52cb53 Copter: ch7/8 switch for auto pause/continue
- added new mode for CH7/CH8 (#24, auto mission reset)
- changed mission.start() to mission.start_or_resume() in auto_init()
2014-05-08 23:09:42 +09:00
Andrew Chapman 8640e11728 Copter: bug fix rally point landing target
was drifting toward home by some distance as (0,0,0) was hard-coded in
control_rtl.pde. Fixed, tested in SITL
2014-05-08 23:09:40 +09:00
Randy Mackay 197d83e32a Copter: bug fix to sport roll pitch control 2014-05-08 16:16:02 +09:00
Randy Mackay 0af9d502d9 Copter: set pos controller speeds before circle init
This ensures stopping point is calculated correctly
2014-05-08 16:15:59 +09:00
Randy Mackay 3cc5b9446f Copter: AUTO and Guided call wp_and_spline_init 2014-05-08 16:15:55 +09:00
Randy Mackay 11918869a5 Copter: RTL calls wp_and_spline_init 2014-05-08 16:15:52 +09:00
Randy Mackay ff1a58e078 Copter: increase LOITER_RATE_IMAX to 1000
This allows us to load up the I term with the vehicle's current
acceleration during mode transitions

pair programmed with Randy
2014-05-08 16:15:34 +09:00
Randy Mackay fb2be07b44 Copter: update AC_WPNav instantiation 2014-05-08 16:15:29 +09:00
Randy Mackay 10d7ab5840 Copter: update release notes for AC3.1.4 2014-05-08 11:58:37 +09:00
Randy Mackay afb9c0a5c7 Copter: update release notes for AC3.1.4-rc1 2014-05-02 14:23:13 +09:00
Randy Mackay 0ad3c1e15e Copter: add EKF to Ch7/Ch8 Opt parameter description 2014-05-02 10:02:23 +09:00
Randy Mackay d857427444 Copter: disable RALLY points by default
This saves 2k of flash which allows the code to fix on the APM1/2
2014-04-30 21:46:21 +09:00
Randy Mackay a3036fc443 Copter: init pos_control z-axis after setting speed and accel 2014-04-30 21:46:17 +09:00
Randy Mackay a4c675c23e Copter: add PILOT_ACCEL_Z parameter
Allows configurable z-axis acceleration when pilot is controlling
altitude
2014-04-30 21:46:13 +09:00
Randy Mackay 7d7a2aced7 Copter: init vert speed and accel for each flight mode
This resolves issue #1021 in which LAND mode could descend at the
PILOT_VELZ rate instead of the WPNAV_SPEED_DN

Pilot defined acceleration is used for AltHold, AutoTune , Circle,
Hybrid, Loiter, OF_Loiter and Sport flight modes
Waypoint Nav (ie. AutoPilot) acceleration is used for Auto, Land, RTL
2014-04-30 21:46:10 +09:00
Randy Mackay 466e9db1f9 Copter: integrate AC_WPNav get_speed_xy name change 2014-04-30 21:46:07 +09:00
Randy Mackay 5b3438850d Copter: fix typo in Log_Write_Baro
Log_Write_Baro should be an empty function when logging is disabled
Fix contributed by Jason Short
2014-04-30 08:50:51 +09:00
Craig Elder 241557e5e0 Copter: Corrected typo in RC_FEEL_RP parameter description 2014-04-28 23:56:49 -07:00
Randy Mackay 416e9457ce Copter: remove cli motor test 2014-04-29 11:41:17 +09:00
Randy Mackay ae9477600c Copter: add mavlink motor_test
Based on original work by Nils Hogberg
2014-04-29 11:31:45 +09:00
Craig Elder 00033bd302 Copter: Update RC_FEEL_RP Description 2014-04-28 17:44:09 -07:00
Randy Mackay b9b3a39a83 Copter: fence enable/disable via MAVLink 2014-04-27 16:18:17 +09:00
Randy Mackay d3411e45bb Copter: use get_current_nav_index() 2014-04-27 16:00:44 +09:00
Randy Mackay 5fe86a657e Copter: land_do_not_use_GPS has no return value 2014-04-27 15:41:41 +09:00
Randy Mackay 0665cf6b28 Copter: RTL alt should not be above fence alt
Resolves issue #435
If the altitude fence is enabled, when the vehicle RTLs it will return
at the lower of the RTL_ALT and the FENCE_ALT_MAX
2014-04-27 15:41:37 +09:00
Randy Mackay 4686eef266 Copter: GPS failsafe ensures LAND is pilot-controlled
This resolves issue #880 in which if a GPS failsafe occurred while the
vehicle was already in LAND mode, the LAND would continue to be GPS
controlled LAND instead of pilot-controlled LAND
2014-04-27 15:11:47 +09:00
Randy Mackay dba8fac515 Copter: remove unused variables from fence.pde
saves 2 bytes
2014-04-27 11:11:12 +09:00
Randy Mackay 1aeaa5955b Copter: integrate 10sec manual recovery after fence breach 2014-04-27 11:11:09 +09:00
Randy Mackay 20de5b3006 Copter: Loiter clears out pilot acceleration when failsafe occurs
This ensures invalid pilot desired accelerations are cleared from the
loiter controller.  This is probably not strictly necessary because the
vehicle should switch out of Loiter and into RTL during failsafe.
2014-04-25 14:45:19 +09:00
Randy Mackay 05d9dc5cba Copter: RTL always land if in radio failsafe
Resolves issue in which vehicle would get stuck at RTL_ALT_FINAL if
failsafe occured.
Also clear out pilot acceleration from loiter controller if failsafe
occurs during the final descent.
2014-04-25 14:45:16 +09:00
Randy Mackay 40650aeb68 Copter: roll and pitch nudging in RTL descent 2014-04-25 14:17:03 +09:00
Michael Oborne 68f439acbe Fix auto doc group names 2014-04-25 07:53:03 +08:00
Randy Mackay 19f1e7fec4 Copter: disable Parachute by default
This saves 1k of flash and we are desperately low on the APM1/APM2.
Hopefully we can find savings somewhere and re-enable it by default.
2014-04-24 19:02:32 +09:00
Randy Mackay ea64438ef9 Copter: RTL ensures heading is back to initial heading
This fixes the issue in which a short RTL_LOIT_TIME could cause the
vehicle's heading to be caught between it's heading when it arrived at
home and the initial armed heading.  With this fix it now waits above
home until the timer has run out AND the heading is within 2degrees of
the initial armed heading.
2014-04-24 18:54:49 +09:00
Randy Mackay e23115516d Copter: disarm after completing RTL
Note that an RTL command executed in AUTO mode will also disarm when it
lands and pilot's throttle is put to zero and no further commands will
be executed.  This is normally not an issue because missions generally
end with an RTL (instead of having the RTL in the middle) and a work
around is available in that the LAND command could be used instead of
RTL.
2014-04-24 17:27:30 +09:00
Randy Mackay a5602c5f14 Copter: updated contributors list
Add JulianD and SandroT and replaced tabs with spaces
2014-04-24 11:28:41 +09:00
Ju1ien 78a3e0f5a2 Copter: Hybrid removed Wind_comp_estimate filter
Removed useless call of function
hybrid_get_wind_comp_lean_angles(hybrid.wind_comp_roll,
hybrid.wind_comp_pitch);
Removed 10Hz filter for hybrid_update_wind_comp_estimate()
2014-04-24 11:28:37 +09:00
Randy Mackay 287af8f66e Copter: disable optical flow by default
We have run out of flash on the APM2, it was a choice between Hybrid
flight mode and OF_Loiter
2014-04-23 15:27:08 +09:00
Randy Mackay 55e7e1eb3e Copter: allow HYBRID to be disabled to save flash
Hybrid flight mode costs 4.5k of flash which currently puts us over the
limit for APM1 and APM2 unless optical flow or other features are
disabled
2014-04-23 15:27:05 +09:00
Randy Mackay ba94fc9796 Copter: Hybrid move reset_I into structure
Saves 1 byte of RAM
2014-04-23 15:00:09 +09:00
Ju1ien ff532a06ec Copter: Hybrid fixes to wind_comp, brake pitch timer, thr peaks
There was an error in the velocity axis used to update
brake_timeout_pitch (vel_right instead of vel_fw)

The wind_comp was not enough filtered for the Pixhawk (400Hz), so I
added a specific time constant (TC_WIND_COMP) to have the expected
filter with 400Hz controllers.

About throttle peaks, after some tests and from logs, they happen when
hybrid switches to loiter.
There is always a difference between Alt and DesiredAlt (DAlt), but,
when loiter engages, it initializes DAlt = Alt and the copter tries
immediatelly to reach that new setpoint. So the solution would be to
init_loiter_target() just as it was in pre-onion code : only x/y and not
z. and to be able to pass parameters like that
wp_nav.init_loiter_target(inertial_nav.get_position(), Vector3f(0,0,0));

Well, from this new code structure, it seems not possible with current
functions so I've used set_loiter_target that init position passed as
parameter and velocity to 0 (as expected).
BTW, I think there was something wrong with set_loiter_target function,
the "Vector3f& position" parameter was not used at all...
I moved the reset flag from init_loiter_target to set_loiter_target.
2014-04-23 15:00:04 +09:00
Ju1ien 14cbb09804 Copter: hybrid add Brake or Loiter to Pilot override transition
Corrected a little mistake in get_wind_comp...()
Mixed transition not only from loiter but as well from brake to manual
override
2014-04-23 15:00:01 +09:00
Ju1ien 43b1dd748b Copter: hybrid init brake roll and pitch at loiter exit 2014-04-23 14:59:59 +09:00
Ju1ien d745060c80 Copter: fix Hybrid flight mode in Parameter description 2014-04-23 14:59:56 +09:00
Ju1ien f8e8d4024d Copter: Hybrid's max brake angle to 30deg 2014-04-23 14:59:53 +09:00
Ju1ien b3e8112d24 Copter: Hybrid fix wind_comp time constant
Corrected timer init values and wind_comp time constant to get the best
behaviour

Check if wider deadband required (current is 30).
We were using a comparison to a 70-100 cdeg deadband in our initial
code. The deadband was there to avoid unwanted switches in case of
inaccurate fingers/radio

Adjusted timers to 100/400Hz

I_term does not init when in hybrid loiter
2014-04-23 14:59:43 +09:00
Randy Mackay 4778c73de2 Copter: Hybrid 10hz updates to wind comp lean angles 2014-04-23 14:59:40 +09:00
Randy Mackay f87ab21063 Copter: Hybrid estimates wind when speed under 10cm/s 2014-04-23 14:59:38 +09:00
Randy Mackay d36f137bf8 Copter: allow arming, disarming in Hybrid mode 2014-04-23 14:59:35 +09:00
Randy Mackay e2aaafe40b Copter: hybrid works for 100hz and 400hz 2014-04-23 14:59:33 +09:00