Andrew Tridgell
035ac3800a
Plane: use G_Dt for acro angle integration
...
also cleanup some other uses of performance timing
2013-10-12 13:30:27 +11:00
Andrew Tridgell
a33573352e
Plane: fixes for updated AP_Math and AHRS APIs
...
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:30:04 +10:00
Andrew Tridgell
233b033e8c
Plane: removed old speed/altitude control algorithms
...
Use TECS only. This makes the code a lot simpler and easier to
properly document
2013-07-22 13:28:11 +10:00
Andrew Tridgell
965dc228c2
Plane: fixed GUIDED mode change of altitude down
2013-07-22 12:50:02 +10:00
Andrew Tridgell
608345415b
Plane: pass aircraft parameters to attitude controllers
...
also cope with rename of airspeed min/max variables
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-18 14:53:37 +10:00
Andrew Tridgell
113bc20f8a
Plane: added a new CRUISE flight mode
...
See
http://diydrones.com/group/apmusergroup/forum/topics/feature-request-hold-heading-mode
this fixes issue #438
2013-07-13 21:45:58 +10:00
Andrew Tridgell
73928b82a6
Plane: fixed FBWB airspeed control
...
thanks to Gabor for reporting this!
2013-07-11 11:58:54 +10:00
Andrew Tridgell
7aa360b176
Plane: added relative_altitude helper functions
...
prevents some code duplication
2013-07-10 14:04:22 +10:00
Andrew Tridgell
1d6748cf3f
Plane: use a glide slope in RTL when descending
...
when above the target altitude in RTL come down slowly, when below
climb rapidly
This fixes issue #39
2013-07-05 14:56:58 +10:00
Andrew Tridgell
a5bda3ffef
Plane: changed to using a "aircraft parameters" structure
...
this structure can be passed to libraries to give them easy access to
critical user parameters
2013-07-04 16:56:57 +10:00
Andrew Tridgell
93cd0f9a31
Plane: switch to new AP_Scheduler
...
this gives us more accurate task scheduling in ArduPlane, plus better
monitoring of task timing (via SCHED_DEBUG)
2013-06-04 13:34:58 +10:00
Andrew Tridgell
fb9bf21522
Plane: allow channel mapping of first 4 channels
...
this makes it easier to support DSM and SBUS radios
2013-06-03 16:23:48 +10:00
Andrew Tridgell
55f7d18979
Plane: avoid copying the DCM matrix
2013-05-05 21:51:09 +10:00
priseborough
3663426550
Plane: Fixed bug in groundspeed_undershoot that could cause a fly-away in windy conditions.
...
Use the component of velocity in the forward direction rather than the magnitude
2013-05-05 21:51:08 +10:00
Andrew Tridgell
75f4a43e2d
Plane: fixed LOITER_TURNS command
...
and cleanup more loiter variables
2013-04-15 21:31:11 +10:00
Andrew Tridgell
994d8e354a
Plane: allow for negative WP_LOITER_RAD for conter-clockwise loiter
...
this follows the same convention as missions
2013-04-15 10:52:32 +10:00
priseborough
70a186464b
Plane: added LEVEL_ROLL_LIMIT parameter
...
this replaces both TKOFF_HEAD_HOLD and RUDDER_STEER, allowing users to
instead select a roll limit for takeoff and landing
2013-04-12 21:59:52 +10:00
Andrew Tridgell
11eb0cfce1
Plane: update for new AP_Navigation controller class
...
this switches ArduPlane over to use the L1 navigation controller, via
a generic nav_controller object pointer.
Note that the nav_controller controls all types of navigation now,
including level flight and heading hold. This provides a cleaner
abstraction than the old method of special case navigation handling
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-04-12 12:48:09 +10:00
Andrew Tridgell
a165f0d138
Plane: removed old angle wrap code
2013-03-29 13:13:50 +11:00
Randy Mackay
c2055557f5
Plane: add support for GPS fix type 2D
2013-03-27 11:41:51 +09:00
Andrew Tridgell
8c0f065ee4
Plane: fixed an integer multiply error that caused poor altitude on landing
...
the control of altitude between waypoints was broken due to an integer
overflow
2013-02-13 19:32:44 +11:00
Jochen Tuchbreiter
c5f19f5df8
Plane: Implement issue 80: counterclockwise loiter
...
- libraries/AP_Common/AP_Common.h: Use bit 2 of Location.options to store
loiter direction
- ArduPlane/defines.h: New bitmask MASK_OPTIONS_LOITER_DIRECTION for struct
Location bit 2
- ArduPlane/ArduPlane.pde: New variable loiter_direction
- ArduPlane/GCS_Mavlink.pde: For mavlink loiter-commands use sign of param3 to
detemine direction. Set Location.option flag accordingly
- ArduPlane/commands.pde: Make sure loiter-directions get saved into EEPROM
correctly
- ArduPlane/commands_logic.pde: Set loiter_direction on all loiter-actions
as well as RTL/instant loiter
- ArduPlane/navigation.pde: Yield loiter_direction in update_loiter
2013-02-05 10:29:31 +11:00
Andrew Tridgell
ebb7f27962
Plane: minor signed/type fixups
2013-01-27 13:16:26 +11: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
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
Andrew Tridgell
cf18534163
Plane: use new functions
2012-12-20 14:53:22 +11:00
Andrew Tridgell
84300c85d6
APM: make it possible to run the CLI on any serial port
2012-11-21 21:41:34 +11:00
Andrew Tridgell
2324997e16
APM: added ALT_OFFSET parameter
...
useful to adjust for barometric pressure changes during a long flight
2012-09-19 16:23:25 +10:00
Andrew Tridgell
7e672628ea
APM: removed the GPS_enabled flag
...
this fixes using GPS_PROTOCOL to specify a specific GPS with a GPS
that takes a few updates before it works (eg. needing baud rate
changes).
This makes it easier to use an APM1-1280 with more features enabled
2012-09-11 13:37:34 +10:00
Andrew Tridgell
96ea350143
APM: added XTRK_MIN_DIST option
...
this allows you to disable crosstrack correction on short legs
2012-09-08 10:06:44 +10:00
Andrew Tridgell
c9cf483822
APM: added XTRK_USE_WIND parameter
...
when enabled this will use the wind estimation code to adjust the
navigation bearing, allowing the navigation code to cope with much
higher levels of wind while using a compass
2012-08-25 17:49:26 +10:00
uncrustify
909e39d667
uncrustify ArduPlane/navigation.pde
2012-08-21 18:58:17 -07:00
Andrew Tridgell
e26e8b3b67
APM: added RDRSTEER_ PID for steering on ground
...
this allows for rolling takeoff with steering, and use of rudder in
landing
2012-08-15 12:39:35 +10:00
Andrew Tridgell
92bdc23ab6
APM: minor formatting fix
2012-08-15 12:39:34 +10:00
Andrew Tridgell
d9b09d2c93
APM: allow for navigation by dead-reckoning
...
we now ask AHRS if we have a position estimate, and use that if
available
2012-08-11 12:01:08 +10:00
Andrew Tridgell
5bfd1200d6
APM: change variables to use _cm, _cd and _ms suffix for units
...
this makes it less likely that we mix up units
2012-08-08 12:12:30 +10:00
Andrew Tridgell
d6e370886f
APM: rename airspeed_cruise to airspeed_cruise_cm to make the units clearer
...
it is in cm/s, not m/s
2012-07-19 11:50:41 +10:00
Andrew Tridgell
de3c9ce56d
Airspeed: change APM to use new AP_Airspeed library
...
the next step is AHRS dead reckoning
2012-07-16 11:21:50 +10:00
Andrew Tridgell
6ee9f1ae97
APM: use new location functions
2012-07-04 12:42:46 +10:00
Andrew Tridgell
8afd196907
APM: adapt ArduPlane for AHRS framework
2012-03-19 17:29:02 +11:00
Andrew Tridgell
5bda871d60
added comment on using GPS ground course
2011-12-23 11:13:01 +11:00
Doug Weibel
2ef4c79a7c
Minimum ground speed patch from Claudio Natoli. Thanks Claudio!
...
This patch will boost the target airspeed as necessary to keep the ground speed above a parameter value - param_min_groundspeed. Airspeed is still limited to FBW-max. Setting min_groundspeed to zero (default) disables the feature.
2011-12-09 16:43:25 -07:00
Michael Oborne
31159a7e1b
modify crosstrack calc
2011-11-13 08:25:24 +08:00
Doug Weibel
645b9c1d48
Initial rewrite of command logic.
...
Changes mission structure so that conditional and immediate commands are located between associated waypoints instead of after the second waypoint.
2011-10-27 13:45:52 -06:00
Andrew Tridgell
e61d742345
GCS: make the two GCS links gcs0 and gcs3
...
the artifical separation between 'gcs' and 'hil' just leads to
confusion. This also simplifies the code a bit more, and saves us a
bit more text
2011-09-19 11:04:02 +10:00
Andrew Tridgell
e0dc1271d6
imported ArduPlane from ArduPilotMega svn
2011-09-09 11:29:39 +10:00