Commit Graph

21 Commits

Author SHA1 Message Date
Randy Mackay 08801eebf2 Copter: integrate AttControl's set_yaw_target_to_current_heading 2014-06-10 20:02:51 +09:00
Randy Mackay 77d5d682c1 Copter: integrate init_targets rename to relax_bf_rate_controller
Also remove unnecessary init_targets from flight mode init functions.
2014-06-10 20:02:29 +09:00
Randy Mackay d5a0ca4f3c Copter: integrate init_loiter_target name change 2014-05-19 12:27:29 +09:00
Randy Mackay 63135a044f Copter: remove setting Z-axis target in Hybrid
This workaround is no longer required because AC_WPNav's
set_loiter_target call no longer sets the position controller's z-axis
target
2014-05-19 12:27:23 +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 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
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 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 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 e2aaafe40b Copter: hybrid works for 100hz and 400hz 2014-04-23 14:59:33 +09:00
Randy Mackay 705ff3f44f Copter: add hybrid_mix_controls
Allow wind comp estimate to run when vehicle travelling up to 30cm/s
(was 10cm/s)
2014-04-23 14:59:30 +09:00
Randy Mackay e48c93d93c Copter: restructure hybrid into more states 2014-04-23 14:59:28 +09:00
Randy Mackay 754bae5748 Copter: refactor and split out wind compensation 2014-04-23 14:59:23 +09:00
Randy Mackay d9c685323a Copter: add hybrid state struct, formatting changes 2014-04-23 14:59:20 +09:00
Ju1ien 832fc62016 Copter: control_hybrid initial version 2014-04-23 14:59:15 +09:00