Commit Graph

213 Commits

Author SHA1 Message Date
Randy Mackay c3daf78340 Copter: reset loiter target when landed 2013-07-28 18:18:41 +09:00
Randy Mackay c937fe45e1 Revert "Copter: Remove CH7 & CH8 Enable / Disable of GeoFence"
This reverts commit e25b8933f3.
2013-07-20 15:00:08 +09:00
Randy Mackay 7ea971d948 Copter: check set_mode for failure
Previously if set_mode failed it would return the copter to stabilize
mode.  With this commit set_mode returns a true/false indicating whether
it succeeded or not so the caller can make the decision as to the
appropriate response which could be to stay in the current flight mode
or try another flight mode.
2013-07-20 11:01:10 +09:00
Craig3DR e25b8933f3 Copter: Remove CH7 & CH8 Enable / Disable of GeoFence 2013-07-18 17:06:53 +09:00
Randy Mackay b3da8a462f Copter: CH6 tuning definition clean-up
Renamed and reorganised the CH6 #defines and parameter definitions
2013-06-29 23:51:43 -10:00
Randy Mackay 23ce35d292 Copter: remove unused NAV_WP_INAV #define 2013-06-01 18:21:28 +09:00
Randy Mackay 00bd1bf8ea Copter: RESETTOARMEDYAW order and comments
We should keep the order in the case statement the same as the #define
order.
2013-05-21 10:58:34 +09:00
Dr Gareth Owen e9d640ced8 added ch7 option to reset yaw back to what it was when quad was armed 2013-05-21 10:40:30 +09:00
Randy Mackay 4ad395e7be Copter: merge WPNAV into NTUN dataflash message 2013-05-19 22:53:35 +09:00
Randy Mackay 38239c652a Copter: ch8 aux switch
Ch8 can be used as an aux switch like ch7.  Has all the same options as
ch7 and there is a safety check to ensure both switches aren't set to
the same function so as to avoid interfering with each other
2013-05-17 14:42:28 +09:00
Randy Mackay 566daf883a Copter: remove unused MODE bit from LOG_BITMASK
We always log the mode so no need for this bit
2013-05-17 12:26:42 +09:00
Randy Mackay 33d1129904 Copter: remove unused TB_RATIO parameter 2013-05-14 16:56:55 +09:00
Randy Mackay e130c8041c Copter: remove unused event definitions 2013-05-13 18:07:44 +09:00
Randy Mackay bb7aec2600 Copter: log compass failur to dataflash 2013-05-13 18:01:30 +09:00
Randy Mackay ad656c7e8a Copter: allow lat/lon to be specified for land 2013-05-10 22:37:15 +09:00
Andrew Tridgell 95120ed43d Copter: use library gcs_severity 2013-05-09 09:28:49 +10:00
Randy Mackay bab9fa25e5 Copter: add GCS failsafe 2013-04-29 21:30:22 +09:00
Randy Mackay 58d1da2d80 Copter: integrate AC_Fence in place of limits
Lesser functionality than limits but saves more than 150 bytes and it
works
2013-04-27 11:14:07 +09:00
Randy Mackay a53e5f747b Copter: add fourth yaw behaviour, look-at-home
Added get_wp_yaw_mode to remove duplication of checks of the
WP_YAW_BEHAVIOR parameter
2013-04-20 15:36:24 +09:00
Andrew Tridgell 67484a2ea1 Copter: make copter code compatible with the new logging system
not fully converted yet
2013-04-20 13:52:36 +10:00
Randy Mackay 37abfdc65a Copter: make CIRCLE_RATE a tunable parameter
Also bug fix to check of how many time it has rotated during a loiter
turns mission command
2013-04-20 12:03:55 +09:00
Randy Mackay 0fc9c8739e Copter: add WP_YAW_BEHAVE parameter
Allows user to control whether nose points towards next waypoint and/or
home when RTLing.
Replaces YAW_OVR_BEHAVE which had a very similar purpose.  Almost nobody
ever knew about or used this parameter.
2013-04-18 15:30:18 +09:00
Randy Mackay 2b4a7d60a9 Copter: remove unused throttle modes
These were useful for testing the alt-hold when it was first introduced
but now they just add complexity
2013-04-17 22:14:22 +09:00
Randy Mackay b48864e1ad Copter: allow CH6 tuning of compass declination 2013-04-15 21:50:44 +09:00
Randy Mackay 629d23b7e2 Copter: remove WP_SPEED and WP_RADIUS parameters
AC_WPNav library has equivalent params with very similar names
2013-04-14 13:27:37 +09:00
Randy Mackay bffe4fa412 Copter: remove NAV_LAT and NAV_LON
Loiter and navigation controllers now combined
2013-04-14 12:09:45 +09:00
Randy Mackay 1ee825ee9a Copter: move alt and wp checking to AC_WPNAV
RTL fix so that if it starts rtl-ing from above 80m it returns home
while descending instead of descending at initial position.
add get and set_target_alt_for_reporting
2013-04-14 10:39:23 +09:00
Randy Mackay 1516972eaa Copter: add panorama to CIRCLE mode
Yaw will slowly rotate if CIRCLE_RADIUS is set to zero
Circle center is projected forward CIRCLE_RADIUS from current position
and heading
2013-04-14 10:38:01 +09:00
Randy Mackay 597a4b912a Copter: fix to allow building HIL_MODE_SENSORS 2013-03-18 13:41:52 +09:00
Randy Mackay f9539384a1 Copter: rename failsafe to failsafe_radio
Makes way for separation of failsafes for throttle, gps and gcs
2013-03-16 17:14:21 +09:00
Randy Mackay cb84ec9d9b Copter: add current based compass compensation 2013-03-03 23:02:36 +09:00
Andrew Tridgell c2fd1512ff Copter: use voltage_average() so as to avoid INPUT_VOLTS 2013-03-03 16:16:01 +11:00
Randy Mackay cbde042ec5 Copter: remove non-inav loiter and wp controllers
lon_speed, lat_speed changed to float
do_takeoff, do_land now set roll-pitch, yaw and nav modes specifically
removed fast_corners functionality (may need to be reimplemented with
new inertial nav controllers)
2013-02-24 14:41:52 +09:00
Randy Mackay 609676e26c Copter: add logging of compass values
Removed rarely used ITERM because we didn't have enough bits in the log
mask
2013-02-24 14:41:48 +09:00
Randy Mackay 1410063a14 Copter: new ROLL_PITCH_WP_INAV roll-pitch mode
small corrections to allow waypoints to work with new inertial nav wp
controller
2013-02-24 14:41:40 +09:00
Randy Mackay fcf102b2cf Copter: inertial nav waypoint controller
#define added to allow compile time selection of traditional or inav
based loiter and wp controllers
2013-02-24 14:41:09 +09:00
Randy Mackay ce370bab0c Copter: rename CUR and CURR to CURRENT for logging
Based on user complaint that enable/disable was using CUR while message
was appearing as CURR
2013-01-26 17:20:41 +09:00
Randy Mackay 0056bfadd7 Copter: rename ROLL_PITCH_LOITER
new name ROLL_PITCH_LOITER_INAV makes it more clear that it should only
be used with the new inertial nav loiter controllers
2013-01-25 23:27:31 +09:00
Randy Mackay aaecc25ac7 Copter: leonard's inav2
Moved loiter controller to navigation.pde
2013-01-25 15:16:35 +09:00
Randy Mackay fd02cfe706 Copter: added set_nav_mode to control initialisation of nav controllers
Renamed run_navigation_controllers() to run_autopilot()
Renamed update_nav_wp() to update_nav_mode()
Renamed wp_control to nav_mode to be more consistent with roll-pitch,
yaw and throttle controllers
2013-01-25 15:16:29 +09:00
Randy Mackay 9a09f086d2 Copter: Leonard Hall's inertial nav ver 2 2013-01-23 12:34:49 +09:00
rmackay9 ab1978ad50 Copter: Leonard Hall's inertial nav based loiter 2013-01-22 18:38:00 +09:00
Robert Lefebvre dde713aaa5 Arducopter: Backing out my changes for a new Loiter Repositioning mode. Leonard and Jonathan's work will trump this. 2013-01-20 21:32:00 +09:00
James Bielman 5631f865b2 Update floating point calculations to use floats instead of doubles.
- Allows use of hardware floating point on the Cortex-M4.
- Added "f" suffix to floating point literals.
- Call floating point versions of stdlib math functions.
2013-01-16 13:52:01 +11:00
Randy Mackay 8bbc93bb04 Copter: added CH7 switch to enabling/disable the sonar in flight
This indirectly switches surface tracking on/off which is useful to
avoid tracking the tops of uneven objects when far above the ground
2013-01-14 14:00:08 +09:00
rmackay9 f25f1cb3bf ArduCopter: changed alt hold to use the sonar if enabled and healthy 2013-01-13 19:56:19 +11:00
Randy Mackay 87627d883b ArduCopter: use new logging method for remaining packet types
Additional changes include renaming RAW dataflash type to IMU
2013-01-13 00:17:44 +09:00
James Bielman ab37f833db MS5611: Fix CONFIG_MS5611_SERIAL definitions.
- Make sure the values are defined as integers.  We were always using
  SPI rather than using I2C when desired.
2013-01-09 11:19:51 -08:00
Andrew Tridgell b079a96eaf Copter: removed GPS_STATUS message
this message is huge, and completely pointless now that we have
num_satellites in GPS_RAW_INT
2013-01-05 20:39:31 +11:00
Andrew Tridgell c48714be16 Copter: enabled PX4 sensors 2013-01-05 20:39:31 +11:00
rmackay9 2181ec2ab0 ArduCopter: log watchdog event to dataflash 2013-01-02 09:55:37 +11:00
rmackay9 672fdfbf71 ArduCopter: added ERR dataflash message
Failsafe events changed to errors so they are more obvious.
Errors recorded to dataflash for failure to init compass and optical flow sensor.
Errors recorded for pwm failure.
Resolved a compile error when dataflash logging is disabled.
2013-01-02 09:55:37 +11:00
rmackay9 677b38a48e ArduCopter: first implementation of surface tracking using sonar
Note: not yet enabled as part of any flight mode
2013-01-02 09:55:37 +11:00
rmackay9 68b62abd38 ArduCopter with the new Camera and Relay classes for APM1 and APM2.
All changes by Sandro Benigno
2013-01-02 09:55:37 +11:00
rmackay9 e77b54c7dc ArduCopter: bug fix to GUIDED mode. Now checks that desired altitude was reached before deciding the waypoint is complete. 2013-01-02 09:24:31 +11:00
Craig@3DR 0ed25cf719 Global change all references from
GPS_PROTOCOL_MTK16
to
GPS_PROTOCOL_MTK19
2013-01-02 09:24:31 +11:00
Jason Short 8b62c4630b ACM: Restore Multi-mode support 2013-01-02 09:20:08 +11:00
Robert Lefebvre 6e64b1b357 ACM: Precision Loiter RePositioning code.
Protected behind a #define
2013-01-02 09:19:39 +11:00
rmackay9 1b5ff6aac6 ArduCopter: restore initial climb to RTL 2013-01-02 09:19:17 +11:00
rmackay9 f4c50353b9 ArduCopter: allow tuning of the Throttle Rate D term 2013-01-02 09:16:48 +11:00
Andrew Tridgell 3c0440b0b4 Math: use common degrees() and radians() functions 2012-12-20 14:53:22 +11:00
Andrew Tridgell 9e986801c9 Copter: fixed SITL for ArduCopter 2012-12-20 14:52:34 +11:00
Pat Hickey d93d932831 ArduCopter: defines fixes
Conflicts:

	libraries/AP_Common/Arduino.mk
2012-12-20 14:52:28 +11:00
Pat Hickey 2aa4657315 ArduCopter: changes to use CONFIG_HIL_BOARD 2012-12-20 14:52:28 +11:00
rmackay9 56ceb230cb ArduCopter: add YAW_OVR_BEHAVE to allow control of when autopilot takes back control of yaw after pilot overrides it during a mission 2012-12-09 18:04:31 +09:00
rmackay9 0f7bb79d89 ArduCopter: add comments to tuning parameters.
Use RC_CHANNEL types as defined by RC_Channel library.
Remove unused definitions.
2012-12-09 16:44:42 +09:00
rmackay9 9dd978576b ArduCopter: auto yaw changes to allow pilot override of yaw during missions
Added set_yaw_mode to better control of yaw controller changes and variable initialisation.
Replaced AUTO_YAW mode with separate yaw controllers YAW_LOOK_AT_NEXT_WP, YAW_LOOK_AT_LOCATION, YAW_LOOK_AT_HEADING.
Pilot manual override of yaw causes yaw to change to YAW_HOLD (i.e. manual yaw) until next waypoint is reached.
Added get_yaw_slew function to control how quickly autopilot turns copter
Changed YAW_LOOK_AHEAD to use GPS heading and moved to new get_look_ahead_yaw function in Attitude.pde
Renamed variables: target_bearing->wp_bearing, original_target_bearing->original_wp_bearing.
Removed auto_yaw_tracking and auto_yaw variables and update_auto_yaw function as they are no longer needed.
Simplified MAV_CMD_CONDITION_YAW handling (do_yaw).  We lose ability to control direction of turn and ability to do long panorama shots but it now works between waypoints and save 20bytes.
2012-12-08 14:23:32 +09:00
rmackay9 68ca123224 ArduCopter: remove some unused #defines 2012-12-07 15:17:35 +09:00
rmackay9 3a90fc77f9 ArduCopter: add dataflash logging of camera events 2012-12-07 00:57:08 +09:00
rmackay9 4ca27defb3 ArduCopter: update comments related to CH7 switch options 2012-12-06 17:40:36 +09:00
rmackay9 a5bb54e36e ArduCopter: RTL clean-up and slightly improved landing sensor
Consolidated RTL state to be captured by rtl_state variable.
Combined update_RTL_Nav and verify_RTL functions which performed the same function but one was for missions, the other for the RTL flight mode.
Renamed some RTL parameters and global variables to have RTL at the front.
Landing detector now checks accel-throttle's I term and/or a very low throttle value
2012-12-06 10:31:52 +09:00
rmackay9 d7f76ebd87 ArduCopter: add tuning of throttle rate controller's I term (THROTTLE_KI) 2012-12-06 10:31:25 +09:00
rmackay9 7b4ed2d227 ArduCopter: restored landing detector to landing throttle mode.
Added LAND_SPEED parameter to control the rate of descent for the last 10m of a landing.
Added CH6 tuning for accel based throttle controller.
2012-12-06 10:31:20 +09:00
rmackay9 3cbef57c64 ArduCopter: first merge of leonard's accel based altitude controller plus other changes from Randy
Changes include:
New low-level get_throttle_accel function takes target acceleration and compares vs earth-frame Z accelerometer values to produce output to motors.
Higher level throttle controllers modified to call new get_throttle_accel controller
Throttle_rate_stabilized controller added which maintains a desired climb/descent rate
Throttle_land controller added - descends using normal auto throttle controller to 10m then descends at 50cm/s
Multiple throttle modes added including landing mode
Land flight mode no longer needs GPS
Throttle cruise maintenance moved to update_throttle_cruise function
2012-12-06 10:30:49 +09:00
Robert Lefebvre 6b8c39dd10 ACM: Creating Yaw_Look_Ahead yaw mode.
This function is not fully tested yet.
2012-11-26 21:37:13 -05:00
Andrew Tridgell bcf740a82f ACM: support 16 character parameter names 2012-11-20 21:38:58 +11:00
Jason Short d2a5928c06 Ap state updates 2012-11-09 22:15:15 -08:00
rmackay9 1f801714e8 ArduCopter: incorporate new version of inertial navigation
Moved several navigation functions from ArduCopter.pde to navigation.pde
2012-11-07 19:21:31 +09:00
rmackay9 a1b4ec6d0e ArduCopter: move to use new INS library instead of IMU library 2012-11-07 19:21:09 +09:00
Andrew Tridgell 9592be5af7 ACM: saved some more memory for strings 2012-10-22 18:57:08 +11:00
Robert Lefebvre 592f4040fd Changed RLT Yaw Mode for TradHeli. Also a few comment cleanups. 2012-10-18 16:39:05 -04:00
rmackay9 95763e610b 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 bae53807b2 ArduCopter: tiny formatting change in defines.h 2012-09-27 17:40:54 +09:00
Jason Short 34e07c826f ACM : Added centralized Iterm logging at a lower rate. Logs all iterms. 2012-09-10 20:26:48 -07:00
uncrustify b9ba41c12a uncrustify ArduCopter/defines.h 2012-08-21 18:57:21 -07:00
Jason Short 11b7475ff9 ACM : Added CH7 multimode triggers, split Toy mode into two 2012-08-11 22:37:26 -07:00
Jason Short 07bd1940e7 ACM Defines.h -added Toy mixer enums 2012-08-09 16:59:43 -07:00
rmackay9 014f5aae99 ArduCopter: added DMP_ENABLE #define and CH6 tuning value for AHRS_KP 2012-07-28 14:21:07 +09:00
Andreas M. Antonopoulos c73f7ef3ab AP_Limits library, provides modular "limits" such as altitude and geo-fencing. 2012-07-14 19:26:17 -07:00
Jason Short ab564b8a86 defines.h
removed Approach mode enumeration
2012-07-01 13:40:11 -07:00
Jason Short 0011190880 defines.h: Toy Mode defines for flight modes 2012-06-29 21:20:28 -07:00
Jason Short 5e4d28baf0 Added Toy mode to navigation 2012-06-29 21:20:27 -07:00
Jason Short 807c4ced34 Added Toy Mode defines 2012-06-25 23:08:25 -07:00
Robert Lefebvre 30e55533dc Change to increase Parameter space as we have run out.
This will decrease the max number of waypoints from 186
to 169.
2012-05-30 20:41:53 -04:00
Robert Lefebvre a285e2779f CopterLEDS changes for APM2 2012-05-15 10:07:03 -04:00
Andrew Tridgell 4fee26437b MAVLink: make ACM build with MAVLink 1.0 possible in arduino GUI 2012-04-24 22:24:58 +10:00
Adam M Rivera 97040a7b3a Merge branch 'master' of https://code.google.com/p/ardupilot-mega into auto-approach 2012-04-23 00:03:37 -05:00
rmackay9 c993049c48 ArduCopter - combined CH6_DAMP and CH6_STABILIZE_KD tuning parameters to avoid confusion 2012-04-21 23:24:57 +09:00
Adam M Rivera a3842734a9 Planner/defines.h: Updated the enumeration value for APPROACH so as not to disturb the order of the universe. 2012-04-18 10:32:01 -05:00
Adam M Rivera f9affb3295 Merge branch 'master' of https://code.google.com/p/ardupilot-mega into auto-approach
Conflicts:
	ArduCopter/Parameters.h
2012-04-16 10:23:01 -05:00