Commit Graph

5435 Commits

Author SHA1 Message Date
Peter Barker dda38d65eb Copter: AP_AHRS no longer requires GPS in constructor 2017-12-27 00:58:02 +00:00
Matt 5d6c979f70 COPTER: Fix MOUNT_CONTROL yaw in missions
If a the mount instances (gimbal) does not support yaw/pan control, the
copter needs to yaw in response to a DO_MOUNT_CONTROL command in
missions.  Checking if the mount has pan control, and if not, yawing the
copter was missing from the mission commands logic. As such, a
MOUNT_CONTROL command would control pitch but not yaw/pan.  This patch
impliments checking for pan control, and initiating copter yaw as
required.
2017-12-23 10:57:31 +09:00
Matt c0f0e3eca3 COPTER: Fix MOUNT_CONTROL yaw in guided
If the mount instance does not support yaw/pan, the copter needs to yaw in
response to MSG_MOUNT_CONTROL and MAV_COMMAND_DO_MOUNT_CONTROL commands from
a GCS or co-computer. There was no checking for mount pan in the GCS_Mavlink
logic.  As such, no yaw takes place when a mount control command calls for it.
This patch impliments copter yaw control for both MSG_MOUNT_CONTROL and
MAV_COMMAND_DO_MOUNT_CONTROL in copter GCS_Mavlink.
2017-12-23 10:57:31 +09:00
Peter Barker 4dcb5aa3de Copter: stop setting home distance in fence 2017-12-15 01:42:49 +00:00
Peter Barker bf5f51a616 Copter: factor out takeoff_trigger from althold, sport and loiter 2017-12-14 23:45:54 +00:00
Randy Mackay 2c0df87585 Copter: Copter.h method reordering 2017-12-15 08:26:45 +09:00
Peter Barker 6c82f7671d Copter: move all commands logic into AUTO flightmode 2017-12-14 14:08:01 +09:00
Andrew Tridgell 8ab0ac8a16 Copter: removed create() method for objects
See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Peter Barker 7222380598 Copter: populate system status bits for fence 2017-12-13 10:04:50 +09:00
Peter Barker 377466ddda Copter: fence no longer requires AP_InertialNav 2017-12-13 10:04:50 +09:00
Peter Barker d09b0696db Copter: correct checking of heli mode change
init() may have changed all sorts of things about the
vehicle - wp navigation, position controllers, attitude controllers...

Do the heli check before doing any of that so we don't change state and
then fail to change mode
2017-12-13 08:49:01 +09:00
Randy Mackay 7504237fbb Copter: rename flight_mode.cpp to mode.cpp 2017-12-12 20:39:48 +09:00
Randy Mackay 99bafb0df1 Copter: rename heli_control_xx to mode_xx_heli 2017-12-12 10:39:26 +09:00
Randy Mackay 2d23e1f7c7 Copter: rename flightmode_ objects to mode_ 2017-12-12 10:39:26 +09:00
Randy Mackay c3fbf2671c Copter: rename control_xx.cpp files to mode_xx.cpp 2017-12-12 10:39:26 +09:00
Randy Mackay 06fbe8f3a7 Copter: rename FlightMode class to Mode
also remove unused print_FlightMode method
2017-12-12 10:39:26 +09:00
Randy Mackay 6e9de7e609 Copter: flight_mode formatting changes
non-functional change
2017-12-12 10:39:26 +09:00
Randy Mackay 2e71a641c3 Copter: FlightMode allow_arming format changes
non-functional change
2017-12-12 10:39:26 +09:00
Randy Mackay 0ac708b5a0 Copter: remove ability to disable PosHold flight mode
This flight mode is stable and regularly used so it is unlikely that we ever want to disable it
2017-12-12 10:39:26 +09:00
Randy Mackay 7494eb2e77 Copter: alphabetise flight mode header file 2017-12-12 10:39:26 +09:00
Randy Mackay a90979ec8e Copter: remove FlightMode_Avoid_ADSB.h file 2017-12-12 10:39:26 +09:00
Randy Mackay 8870897847 Copter: FlightMode objects use lower case 2017-12-12 10:39:26 +09:00
Randy Mackay 20d7216179 Copter: remove comments
non-functional change
2017-12-12 10:39:26 +09:00
Randy Mackay ac8c2b3f03 Copter: resolve compiler warning from flight-mode declaration 2017-12-12 10:39:26 +09:00
Peter Barker 5d33cf08e1 Copter: eliminate calc_home_distance_and_bearing
Calling update_simple_mode_bearing calls get-heading
rather than the other way around

This will have the advantage of not calculating home bearing
when we stop calling update_simple_mode_bearing unnecesarily
2017-12-09 16:26:09 +09:00
khancyr b44ba29a05 AC_Avoidance: replace AP_InertialNav by AHRS 2017-12-08 11:27:37 +09:00
Peter Barker 103e2cc711 Copter: calculate wp bearing and distance on demand
Move responsibility for calculating wp bearing/distance
into the FlightMode object doing the navigation

Calculating these variables was being done at 50Hz where they
were used at 10Hz max.
2017-12-07 07:43:08 +09:00
Peter Barker 4ae2be55aa Copter: fix up autotune namespacing
This moves static variables into the autotune flightmode object.

It also adjusts namespacing on everything to take advantage of
having everything encapsulated in the AutoTune object
2017-12-07 07:35:37 +09:00
Peter Barker 7b637334f4 Copter: eliminate mode_has_manual_throttle 2017-12-06 10:09:58 +09:00
Peter Barker 4fd61ed6dc Copter: make exit_mode take FlightMode objects as arguments 2017-12-06 10:09:58 +09:00
Peter Barker adf4140b9b Copter: fix heli-flags compilation issue 2017-12-06 08:24:24 +09:00
Peter Barker 477ae8f7be Copter: pass heli_flags into flightmode constructor 2017-12-06 08:24:24 +09:00
Peter Barker 83d0a71e10 Copter: FlightMode - simplify flight mode initialization 2017-12-06 08:24:24 +09:00
Peter Barker 0ca5605b8d Copter: FlightMode: remove virtual from many methods 2017-12-06 08:24:24 +09:00
Peter Barker ef1489e87a Copter: eliminate mode_requires_gps 2017-12-06 08:24:24 +09:00
Peter Barker a4859e13c1 Copter: eliminate mode_allows_arming 2017-12-06 08:24:24 +09:00
Peter Barker 9c60c1de58 Copter: FlightMode - convert SMARTRTL flight mode 2017-12-06 08:24:24 +09:00
Peter Barker b0e34bd307 Copter: FlightMode - convert GUIDED_NOGPS flight mode 2017-12-06 08:24:24 +09:00
Peter Barker cf423ce681 Copter: FlightMode - convert THROW flight mode 2017-12-06 08:24:24 +09:00
Peter Barker 1de99c737e Copter: remove unimplemented heli desired_yaw_rate 2017-12-06 08:24:24 +09:00
Peter Barker 37c706c24e Copter: FlightMode - convert AVOID_ADSB flight mode 2017-12-06 08:24:24 +09:00
Peter Barker 51cd143012 Copter: FlightMode - convert BRAKE flight mode 2017-12-06 08:24:24 +09:00
Peter Barker cafce01357 Copter: FlightMode - convert POSHOLD flight mode 2017-12-06 08:24:24 +09:00
Peter Barker 67063d6b1e Copter: FlightMode - convert AUTOTUNE flight mode 2017-12-06 08:24:24 +09:00
Peter Barker 018c70d224 Copter: FlightMode - convert FLIP flight mode 2017-12-06 08:24:24 +09:00
Peter Barker 5e3e831152 Copter: FlightMode - convert SPORT flight mode 2017-12-06 08:24:24 +09:00
Peter Barker 6a38664ff4 Copter: FlightMode - convert DRIFT flight mode 2017-12-06 08:24:24 +09:00
Peter Barker 682f3c0e7e Copter: FlightMode - convert RTL flight mode 2017-12-06 08:24:24 +09:00
Peter Barker 3b1ca99b95 Copter: FlightMode - convert LAND flight mode 2017-12-06 08:24:24 +09:00
Peter Barker 2db09ba0f7 Copter: FlightMode - convert GUIDED flight mode 2017-12-06 08:24:24 +09:00
Peter Barker f2495b2d08 Copter: FlightMode - convert LOITER flight mode 2017-12-06 08:24:24 +09:00
Peter Barker 871ba5630f Copter: FlightMode - convert CIRCLE flight mode 2017-12-06 08:24:24 +09:00
Peter Barker e2b70c3a0a Copter: FlightMode - convert AUTO flight mode 2017-12-06 08:24:24 +09:00
Peter Barker a95a35c134 Copter: FlightMode - convert STABILIZE flight mode 2017-12-06 08:24:24 +09:00
Peter Barker 79c06974b7 Copter: FlightMode - convert ALT_HOLD flight mode 2017-12-06 08:24:24 +09:00
Peter Barker d74f0c72da Copter: FlightMode - convert ACRO flight mode 2017-12-06 08:24:24 +09:00
Peter Barker 527a536b78 Copter: FlightMode - remove function parameters
Use current control_mode in place of parameters

Once conversion is complete these functions will disappear
2017-12-06 08:24:24 +09:00
Peter Barker 99a22a263d Copter: a FlightMode base class 2017-12-06 08:24:24 +09:00
Peter Barker e0233f1dc4 Copter: create a takeoff_state_t type 2017-12-06 08:24:24 +09:00
Peter Barker b828fa4ffc Copter: Create an ap_t type 2017-12-06 08:24:24 +09:00
Sharvashish Das 395a4ad4ce Copter: add z-axis obj avoidance to guided vel control
added code to adjust z velocity using avoidance
2017-12-05 15:58:00 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 2235b22510 Copter: Also report distance and bearing to target in Guided_PosVel mode 2017-12-05 09:17:15 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas ce3197e0ac Copter: use the return code of the guided_set_destination_posvel() function calls 2017-12-05 08:57:55 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas c7a2fcdc37 Copter: Also use fence in Guided_PosVel mode 2017-12-05 08:57:55 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas bd027e4fcb Copter: Move some common functions to AP_Math (NFC) 2017-12-05 08:54:49 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 928bc19cee Copter: Use DEGX100 define instead of hardcoded value (NFC) 2017-12-05 08:54:49 +09:00
khancyr 015d71bacd ArduCopter: remove useless .gitignore from directory 2017-12-04 07:52:25 +09:00
Peter Barker 398d07a68a Copter: tighten return types of mavlink functions and variables 2017-12-01 17:01:10 +00:00
Dr.-Ing. Amilcar Do Carmo Lucas 9773365237 Copter: NFC spell in comments 2017-11-27 23:13:34 +09:00
Randy Mackay 8d2db3218c Copter: minor comment fix to code handling SET_POSITION_TARGET msgs 2017-11-27 14:24:30 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas bde1aaa2f6 Copter: Rename variable to correct the meaning (NFC) 2017-11-27 14:17:21 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 8678d13e7b Copter: Update the result of a MavLink message, this is a NFC
The result variable is not used, but at least it gets documented :)
2017-11-27 14:17:21 +09:00
Andrew Tridgell ef0144751e Copter: allow THROW_NEXTMODE=LOITER 2017-11-27 14:14:06 +09:00
Andrew Tridgell 311d7c11e4 Copter: added LOITER option in THROW_NEXTMODE 2017-11-27 14:14:06 +09:00
Randy Mackay 020e0bfd40 Copter: fix disable ESC calibration for brushed motors 2017-11-27 13:31:21 +09:00
Andrew Tridgell 650a0e06bd Copter: disable ESC calibration for brushed motors 2017-11-27 12:28:40 +09:00
Andrew Tridgell a644cff921 Copter: support testing multiple motors with motortest
this matches the quadplane behaviour, allowing a sequence of motors to
be tested
2017-11-27 10:15:31 +09:00
Randy Mackay 8845b6d5b5 Copter: rename control_safe_rtl.cpp to control_smart_rtl.cpp
non-functional change
2017-11-23 20:05:01 +09:00
Randy Mackay 58e5b7f458 Copter: 3.5.4 release notes 2017-11-23 12:17:50 +09:00
Peter Barker dc99a29dfc ArduCopter: support for units on fields 2017-11-23 10:40:30 +11:00
Randy Mackay 9a03ba1bfb Copter: move barometer_accumulate to sensors.cpp
non-functional change
2017-11-22 17:13:14 +09:00
Andrew Tridgell 23b20307af Copter: use cork/push wrapper 2017-11-21 14:10:54 +11:00
Randy Mackay c5141ad87e Copter: 3.5.4-rc2 release notes 2017-11-17 13:39:20 +09:00
Peter Barker 04c9e966e0 Copter: use AP::PerfInfo library 2017-11-16 15:31:53 +00:00
Peter Barker 5c2f68e8f5 Copter+AP_Scheduler: move perf_info.cpp into Scheduler 2017-11-16 15:31:53 +00:00
Peter Barker d959e4b42b Copter: AP_Camera uses GPS singleton 2017-11-16 15:28:37 +00:00
Randy Mackay 8d6d09169f Copter: rtl uses labs for alt comparison 2017-11-16 09:59:25 +09:00
murata acfcd9980d Copter: Modify method name in method header. 2017-11-16 09:26:26 +09:00
Peter Barker 8f48b3187e Copter: use gps singleton for GCS function 2017-11-15 13:43:03 +00:00
ChrisBird 1f1bb61bfa Copter: Add PreArm - PID Parameter check
This addresses the enhancement requested in: https://github.com/ArduPilot/ardupilot/issues/2424

It checks various PID values to check if they are zero, if they are and the corresponding rate forward feed is zero then it flags it as PreArm failure.
It has been added to the parameter check, so can be overridden if required.
2017-11-15 21:58:24 +09:00
André Kjellstrup e7a1ceca4c Copter: Option to trig by distance only when in AUTO mode 2017-11-14 00:10:22 +00:00
ChrisBird caaeae3d0a Copter: Separate max ascent and descent speeds
Added equivalent parameters to WPNAV_SPEED_UP and WPNAV_SPEED_DN

New parameters named:
PILOT_SPEED_UP (technically renamed PILOT_VELZ_MAX)
PILOT_SPEED_DN

Removed parameter PILOT_VELZ_MAX (technically renamed to PILOT_SPEED_UP).

Flight Modes impacted:
ALTHOLD
AUTOTUNE
CIRCLE
LOITER
POSHOLD
SPORT
TAKEOFF

Update a section in GUIDED mode but I don't think it is ever used but update just in case.

It will use the PILOT_SPEED_UP for ascending max velocity.  For down it will check if
it is 0, if so then it will PILOT_SPEED_UP instead, if non zero it will use PILOT_SPEED_DN.
This retains current behavior and gives the flexibility to change it if desired.
2017-11-09 09:03:54 +09:00
Peter Barker 3846da5e23 Copter: remove redundant terrain checks
Now taken care of by continuous prearm checks
2017-11-08 19:08:16 +09:00
Peter Barker d537461934 Copter: remove redundant battery checks
Now taken care of by continuous prearm checks
2017-11-08 19:08:14 +09:00
Peter Barker b3b1680e11 Copter: remove redundant fence checks
Now checked as part of continuous prearm
2017-11-08 19:08:12 +09:00
Peter Barker 04af1cb331 Copter: remove redundant baro checks
Now checked as part of continuous prearm checks
2017-11-08 19:08:10 +09:00
Peter Barker b5c907312c Copter: remove redundant gps checks
Now tested as part of continuous pre-arm checks
2017-11-08 19:08:08 +09:00
Peter Barker d563a9dd5d Copter: remove redundant INS checks
Now checked by continuous prearm checks
2017-11-08 19:08:06 +09:00
Peter Barker d3b73f8557 Copter: correct notification of pre-arm-gps-check failure 2017-11-08 19:08:03 +09:00
Peter Barker 818faa92d4 Copter: rc calibration checks are called by AP_Arming 2017-11-08 19:07:59 +09:00