Commit Graph

158 Commits

Author SHA1 Message Date
Randy Mackay 6052017b13 Copter: allow override of auto throttle mode 2013-08-28 11:45:07 +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
Randy Mackay 1dcc5886d0 Copter: ensure take-off alt is at least 1m
fixes issue #377
2013-07-16 15:51:18 +09:00
Randy Mackay 47ab02d686 Copter: bug fix to ROI to pull target from conditional command queue 2013-07-14 17:37:06 +09:00
Randy Mackay f1969d5662 Copter: switch from NAV_ROI to DO_SET_ROI 2013-07-14 17:37:05 +09:00
Randy Mackay ab1a7baf71 Copter: project stopping point for loiter command 2013-07-11 11:39:47 +09:00
Randy Mackay 022148ec0d Copter: LAND only control horizontal position if we have GPS lock 2013-06-25 22:34:58 +09:00
Randy Mackay 993bccc60e Copter: point nose at landing point if specified 2013-06-03 15:20:37 +09:00
Randy Mackay 9f59f2724f Copter: bug fix for take-off when throttle is zero
Verify_takeoff was always returning false if throttle was zero.  The
pilot should be able to move their throttle back to zero immediately
after initiating the mission
2013-06-03 14:18:56 +09:00
Dr Gareth Owen 79bd8b4fd0 rtl resets yaw to same as when armed - unless user specifies otherwise 2013-06-02 11:29:27 +09:00
Randy Mackay 0460147a15 Copter: guided mode yaw fix
Nose of copter now points at next guided point if it is more than 10m
away
2013-06-02 11:25:35 +09:00
Randy Mackay 429f900460 Copter: bug fix for RTL bearing
Also smooth RTL's initial climb stage by projecting stopping point
2013-05-11 16:21:25 +09:00
Randy Mackay ad656c7e8a Copter: allow lat/lon to be specified for land 2013-05-10 22:37:15 +09:00
Randy Mackay b3bca271d4 Copter: rename verify_must to verify_nav_command
Perhaps easier to understand if we use the "nav" and "conditional"
command labels
2013-05-10 12:06:29 +09:00
Randy Mackay b65d714675 Copter: set yaw-mode in do_loiter mission command 2013-05-10 10:51:46 +09:00
Randy Mackay 1b52ee211a Copter: bug fix for RTL yaw control
Nose was only pointing home if your initial altitude was above the
RTL_ALT
2013-05-09 21:44:46 +09:00
Randy Mackay 1b2d8636ca Copter: set wp to "fast" if they have no delay 2013-05-09 00:18:36 +09:00
Andrew Tridgell 105bd32a2e Copter: fixed some uses of constrain_float() to be right type 2013-05-02 10:29:57 +10:00
Andrew Tridgell 25c576cad7 Copter: replaced constrain() with constrain_float() 2013-05-02 10:26:49 +10: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
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 d65d7d95e2 Copter: bug fix for take-off so it never descends
If copter was already flying when take-off command was received it could
descend to the target altitude if it was below the current altitude.
2013-04-18 22:30:24 +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 a7b32caf72 Copter: bug fix for loiter_time check
loiter_time_max was changed to hold the loiter time in seconds
(previously it was milliseconds) in order to allow the delay to be more
than 65 seconds but the verify_loiter_time check was missed from that
change
2013-04-15 23:57:22 +09:00
Randy Mackay 8c7a1597dc Copter: remove debug comment from RTL 2013-04-14 18:28:13 +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 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 553f40a99c Copter: bug fix to loiter delay
change delay to seconds to allow delays longer than 65seconds
2013-04-14 10:38:30 +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 58ed8cd544 Copter: replace set_next_WP with direct call to wp_nav 2013-04-14 10:37:55 +09:00
Randy Mackay 49828eba7d Copter: integrate AC_WPNav 2013-04-14 10:37:48 +09:00
Andrew Tridgell b280857025 Copter: use common angle wrap code 2013-03-29 13:14:31 +11:00
Randy Mackay a1295c042b Copter: fix init of wp_verify_byte so wp alt is always required 2013-03-17 16:37:30 +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 5380973225 Copter: only start delay timer after reaching wp location and altitude 2013-03-06 12:50:41 +09:00
Randy Mackay e0506bd622 Copter: inav circle initial implementation 2013-02-26 11:35:35 +09: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 574756908d Copter: set wpinav controller targets in nav calls
All navigation commands now properly set wpinav controller targets
except CIRCLE related commands.
2013-02-24 14:41:36 +09:00
Randy Mackay 00bc28adcc Copter: take-off code cleanup
remove redundant setting of loiter target.
explicitely set throttle mode to THROTTLE_AUTO
2013-02-24 14:41:32 +09:00
Randy Mackay 37d3e1d7e4 Copter: add zero slope checks to wpinav
also added RTL fix to set wpinav target explicitly
2013-02-24 14:41:25 +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 9d34ead486 Copter: fix up some casting issues for wp_distance 2013-02-01 22:42:50 +09:00
Randy Mackay 6f5050a8b9 Copter: minor casting fixup for wp_distance 2013-01-27 11:27:43 +09:00
Randy Mackay d2767b911c AP_Math: switch get_distance_cm to return uint32_t
Includes changes required on ArduCopter and ArduPlane side as well
2013-01-26 17:04:12 +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
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 ccaa7a52ef Copter: RTL bug fix to initial step is always a climb and not a descent
Also bug fix to hold yaw on take-off
2013-01-15 12:17:52 +09:00
Randy Mackay 76f032160c Copter: relax altitude check in verify_takeoff
Previously we checked if the alt > target_alt but because there is
little to no overshoot with the new accel based alt controller this
check was failing for some users.
2013-01-14 13:34:06 +09:00
Randy Mackay c447b4b79b ArduCopter: move setting of land's yaw mode to the do_land function 2013-01-13 20:01:06 +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