Commit Graph

56 Commits

Author SHA1 Message Date
Andrew Tridgell 0d1bcd3b94 Copter: added automatic yaw to autotune position control 2017-02-27 19:34:44 +09:00
Andrew Tridgell fa119f8231 Copter: enable poshold in autotune only from LOITER or POSHOLD 2017-02-27 19:34:42 +09:00
Andrew Tridgell 37fca03db3 Copter: implement simple position hold during autotune
this holds position during tuning with low gain
2017-02-27 19:34:36 +09:00
Randy Mackay 62a4867cd4 Copter: use avoidance adjusted climb rate in all modes 2017-01-18 09:35:47 +09:00
Andrew Tridgell 0f6d0c5ba9 Copter: combined tri, single, coax and multicopter into a single build
this allows copter to be just 2 builds, one for heli, and one for
everything else
2017-01-12 17:39:37 +11:00
Randy Mackay a2474667a8 Copter: minor formatting fix
no functional change
2016-12-14 13:22:24 +09:00
Leonard Hall 53486a5725 Copter: increase Autotune test time out for large copters 2016-10-26 21:00:23 +09:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Randy Mackay 5894a54a16 Copter: althold uses current alt target if active
Previously we always reset the altitude target to the current altitude but this causes a jump if the vehicle is already in an alt-hold flight mode but has an altitude error
2016-10-15 11:29:10 +09:00
Randy Mackay 7091daa1cf Copter: remove out of date comment regarding autotune
no functional change
2016-09-23 20:48:03 +09:00
Leonard Hall 3349e24492 Copter: fix autotune unit conversions for step sizes 2016-08-08 11:24:42 +09:00
Randy Mackay 6d9d3c1458 Copter: autotune provides throttle feedback from mid-stick when landed 2016-08-05 12:40:37 +09:00
Leonard Hall 5b277f4fb5 Copter: autotune - fix call to relax_alt_hold_controllers 2016-08-05 12:40:37 +09:00
Leonard Hall 22422bd7b3 Copter: autotune bug fix to autotune_updating_p_up_d_down
This resolves an issue in which the D term could be reduced far lower than
it should have been.
2016-08-04 21:46:30 +09:00
mirkix e3934fac80 ArduCopter: Delete (wrong) filename out of header 2016-07-25 17:13:41 -03:00
Leonard Hall 07cadc7ddd Copter: rename limit_angle_to_rate_request to use_input_shaping 2016-06-24 17:17:18 +09:00
Leonard Hall 7d54c268f6 Copter: consolidate input_euler_angle calls to use smoothing gain
Previously we had _smooth and non-smooth methods in the attitude
controller but as part of the move to quaternions these have been replaced
by a single call which always takes a smoothing gain
2016-06-24 17:17:17 +09:00
Leonard Hall e9d8a28ec0 Copter: AP_Motor's throttle_hover replaces throttle_average 2016-06-18 11:55:49 +09:00
dgrat 3bc97ae356 ArduCopter: Do not use is_zero() for non-float types
This function makes only sense for floating point types. However this
function was also used for ints.
2016-05-16 19:08:35 -03:00
dgrat 76362caee0 AP_Math: Replace wrap_* functions with template versions 2016-05-10 11:41:26 -03:00
skyscraper 6f200fa923 ArduCopter: Fix up after refactoring RC_Channel class
Further to refactor of RC_Channel class which included
adding get_xx set_xx methods, change reads and writes to the public members
to calls to  get and set functionsss

old public member(int16_t)   get function -> int16_t     set function (int16_t)
(expression where c is an object of type RC_Channel)
c.radio_in                     c.get_radio_in()           c.set_radio_in(v)
c.control_in                   c.get_control_in()         c.set_control_in(v)
c.servo_out                    c.get_servo_out()          c.set_servo_out(v)
c.pwm_out                      c.get_pwm_out()            // use existing
c.radio_out                    c.get_radio_out()          c.set_radio_out(v)
c.radio_max                    c.get_radio_max()          c.set_radio_max(v)
c.radio_min                    c.get_radio_min()          c.set_radio_min(v)
c.radio_trim                   c.get_radio_trim()         c.set_radio_trim(v);

c.min_max_configured() // return true if min and max are configured

Because data members of RC_Channels are now private and so cannot be written directly
 some overloads are provided in the Plane classes to provide the old functionality

new overload Plane::stick_mix_channel(RC_Channel *channel)
which forwards to the previously existing
void stick_mix_channel(RC_Channel *channel, int16_t &servo_out);

new overload Plane::channel_output_mixer(Rc_Channel* , RC_Channel*)const
which forwards to
(uint8_t mixing_type, int16_t & chan1, int16_t & chan2)const;

Rename functions

 RC_Channel_aux::set_radio_trim(Aux_servo_function_t function)
    to RC_Channel_aux::set_trim_to_radio_in_for(Aux_servo_function_t function)

 RC_Channel_aux::set_servo_out(Aux_servo_function_t function, int16_t value)
    to RC_Channel_aux::set_servo_out_for(Aux_servo_function_t function, int16_t value)

 Rationale:

        RC_Channel is a complicated class, which combines
        several functionalities dealing with stick inputs
        in pwm and logical units, logical and actual actuator
        outputs, unit conversion etc, etc
        The intent of this PR is to clarify existing use of
        the class. At the basic level it should now be possible
        to grep all places where private variable is set by
        searching for the set_xx function.

        (The wider purpose is to provide a more generic and
        logically simpler method of output mixing. This is a small step)
2016-05-10 16:21:16 +10:00
Randy Mackay 1f20a5ef69 Copter: access angle and rate PIDs through attitude controller 2016-04-01 11:59:30 +09:00
Randy Mackay 478b9af0f3 Copter: autotune uses AP_Motors set_desired_spool_state 2016-04-01 11:59:30 +09:00
Leonard Hall 80a11e4d3d Copter: autotune uses throttle in 0 to 1 range and sets motor spool state 2016-04-01 11:59:30 +09:00
Andrew Tridgell 31000ac756 Copter: moved Log_Write_Rate() to common code 2016-03-25 12:13:59 +11:00
Leonard Hall 8e790d3f91 Copter: autotune adjustment for large copters 2016-02-18 20:49:12 +09:00
Jonathan Challinger dfab21171b Copter: call renamed functions in AC_AttitudeControl 2015-12-09 19:58:37 +09:00
Jonathan Challinger 9d8b0f3d58 Copter: call renamed functions in AC_AttitudeControl 2015-12-09 19:58:30 +09:00
Lucas De Marchi 2591261af6 Global: rename min and max macros to uppercase
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.

Changes generated with:

	git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
	git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02:00
Luis Vale Gonçalves 3199829d45 Copter: revisions to text strings sent to GCS 2015-11-27 16:16:58 +09:00
Randy Mackay 50e3c2ce3a Copter: minor comment updates
No functional change
2015-11-18 22:12:44 +09:00
bugobliterator 945bdee452 Copter: PILOT_VELZ_MAX and PILOT_ACCEL_Z take effect immediately 2015-11-18 22:12:41 +09:00
lvale 549695181c Copter: revised and uniformization of severity messages 2015-11-05 12:20:49 +09:00
Lucas De Marchi 84da1f5039 Rename gcs_send_text_P to gcs_send_text 2015-10-30 14:35:07 +09:00
Lucas De Marchi 2c38e31c93 Remove use of PSTR
The PSTR is already define as a NOP for all supported platforms. It's
only needed for AVR so here we remove all the uses throughout the
codebase.

This was automated with a simple python script so it also converts
places which spans to multiple lines, removing the matching parentheses.

AVR-specific places were not changed.
2015-10-30 14:35:04 +09:00
Leonard Hall 411e75b917 Copter: feed forward only used for AltHold, Loiter, PosHold
land modes use non-feedforward alt hold
2015-10-28 20:21:54 +09:00
Leonard Hall 543f6fdcd4 Copter: AltHold limits lean angle to maintain altitude
get_pilot_desired_lean_angles function now takes angle max parameter but
all flight modes except AltHold simply pass in the ANGLE_MAX parameter
meaning no functional change for them
2015-09-07 15:10:12 +09:00
squilter 767b4da5b6 Copter: update send text severities 2015-08-25 14:05:25 +09:00
Randy Mackay a10a74d498 Copter: AUTOTUNE_MIN_D param to allow controlling minimum D 2015-08-23 14:56:39 +09:00
Leonard Hall a87e06e6c2 Copter: Autotune Final Tweak 2015-06-18 23:07:10 +09:00
Leonard Hall 7745fb21a7 Copter: remove set_accel_roll_max 2015-06-18 23:07:08 +09:00
Leonard Hall c8b522a064 Copter: AutoTune always backup gains regardless of which axis enabled 2015-06-18 23:07:02 +09:00
Leonard Hall c1134c1639 Copter: AutoTune remove unused local variable 2015-06-18 23:06:59 +09:00
Leonard Hall e8cc5d6312 Copter: Autotune aggressiveness tweeks 2015-06-18 23:06:56 +09:00
Leonard Hall 0b4d9b80e7 Copter: AutoTune increase max aggressiveness 2015-06-18 23:06:54 +09:00
Leonard Hall fe0d069eab Copter: Autotune log acceleration 2015-06-18 23:06:51 +09:00
Leonard Hall b336ab4de7 Copter: Autotune remove logging of BAD_GAINS event
This should never happen so no need to log
2015-06-18 23:06:48 +09:00
Leonard Hall 7957d5fc19 Copter: Autotune use set_accel_roll, pitch, yaw 2015-06-18 23:06:45 +09:00
Leonard Hall 196f6cf1b7 Copter: AutoTune definition and comment changes 2015-06-18 23:06:43 +09:00
Leonard Hall 21cd73e877 Copter: AutoTune bug fix to save feedforward setting 2015-06-18 23:06:40 +09:00