Difference between revisions of "Software Wish List"

From PaparazziUAV
Jump to navigation Jump to search
Line 18: Line 18:


=== Other ===
=== Other ===
* Revise autopilot modes [[User:Jeremy|(Jeremy)]]
* '''Revised autopilot modes''' [[User:Jeremy|(Jeremy)]]
*# Manual - Should parallel/override all autonomous modes and be displayed together (i.e. Manual/Nav)
*: I propose a restructuring of the modes as follows - create 3 top-level modes: '''Man, Stab,'''and '''Auto''', each with an appended autonomous sub-mode (i.e. '''Man'''/''Climb'', '''Stab'''/''Kill'', '''Auto'''/''Landing'', etc.) This will give the operator much more information and a much better indication of what the plane will do when switched to autonomous mode in a concise manner.  Furthermore, I see an advantage in having simple behaviors like ''Climb, Landing'', etc. be defined as sub-modes so that operator is always alerted of changes such as ''Descent'' or can easily configure trim, gains, and payload options in the airframe file (i.e. if mode = ''Landing'' then retract camera, turn off video system, use landing trim, etc.)
*# Auto1 - Should parallel/override all autonomous modes and be displayed together (maybe rename to "Stabilized")
** ''Sub-modes''
*# Armed - Should parallel all autonomous modes - enables throttle PWM signal, stability routines, complete telemetry data and processes the entire flight plan with a throttle of 0%. Can ''only be enabled by GCS or R/C and can never be re-enabled without a complete power cycle.'' Automatically enabled by ''Manual, Auto1,'' or ''Takeoff''
*# ''Ground'' - The default boot mode.  In this mode the throttle is locked at 0% or not armed at all (no PWM signal), stability is disabled (servos locked in neutral position), and video power is off, but flight plan blocks are processed.  This will improve safety and aid in lost plane retreival as the servos, and video will not drain the battery if landing detection is implemented.  ''Ground'' mode should exit '''only''' if ''Takeoff'' is manually triggered.
*# Kill - should override all ''autonomous'' modes, use pitch/roll/throttle settings from the airframe file, and be automatically cancelled for 30 seconds if a manual block/mode change is sent from the GCSThe timeout is important as it may allow the operator to potentially recover the plane autonomously in a situation where Kill mode may be repeatedly triggered such as ''too far from home''
*# ''Takeoff'' - 3 possible triggers: GCS button, GPIO button, or R/C throttle.  Checks for error modes and desired climb, then arms/unlocks throttle, initates "Takeoff" flight plan block, and instantly deroutes to ''Climb'' mode. Deroutes to ''Descent'' mode without unlocking throttle if not OK''Takeoff'' could simply be a flag rather than a "mode".
*# Home - should override all ''autonomous'' modes other than Kill and be automatically cancelled for 30 seconds if a manual block/mode change is sent from the GCS.  The timeout is important for the same reasons as above.
*# ''Climb'' - Triggered anytime "aggressive climb" is active
*# Ground - should override nothing - The default boot mode.  In this mode the throttle is not armed (no PWM signal), there is no stability (servos locked in neutral position), video power is off, and only GPS data is sent.  This will aid in lost plane retreival as the servos, modem, and video will not drain the battery.
*# ''Descent'' - Triggered anytime "aggressive descent" is active
*# Takeoff - enables ''Armed'' and uses the Takeoff flight plan file and any special airframe gains/trims/payload options as defined in airframe.xmlEnabled only by GPIO or GCS never by R/C or any autonomous trigger.
*# ''Nav'' - Normal level flight
*# Nav - should override all autonomous modes for 30 seconds if manually initiated from the GCS, otherwise should override nothing - regular autonomous waypoint navigation using the nav flight plan file(s) - should trigger ''Takeoff''.
*# ''Landing'' - Same as ''Nav'' but using the "Landing" flight plan block and any airframe gains/trims/payload options as defined in airframe.xml
*# Landing - same a ''Nav'' but using the Landing flight plan file and airframe gains/trims/payload options as defined in airframe.xml
*# ''Kill'' - Triggered manually - locks throttle at 0% and uses pitch/roll settings from Airframe.xml. 
*# No GPS - should override nothing - a temporary mode using pitch/roll settings from airframe.xml
** ''Error sub-modes''
*# No RC - should override nothing - only triggered from Auto1, should either initiate ''Home'' mode or switch to the current autonomous mode as defined in airframe.xml.  If triggered from manual, ''No RC'' should trigger ''Auto 1'' for up to 5 seconds before going autonomous.
*# ''No GPS'' - A temporary mode using pitch/roll settings from airframe.xml
*# ''Home'' - Triggered by distance in '''Auto''' mode or by distance/RC loss in '''Stab''' mode (after ''n'' seconds, as defined in airframe.xml)Exits upon manual block/mode change requests from the GCS and cannot be re-initiated for 30 seconds.


* Last known coordinate
* '''Continually broadcast last known location'''
*: AP should continue to broadcast the last known GPS coordinate in the event of GPS loss. (i.e. upside-down crashed plane should continue to send last known position in case it was out of data range prior to the crash.)
*: AP should continue to broadcast the last known GPS coordinate in the event of GPS loss. (i.e. upside-down crashed plane should continue to send last known position in case it was out of data range prior to the crash.)

Revision as of 22:25, 8 December 2006

Please use the Discussion tab at the top of the page, as appropriate

Ground Station Suggestions

  • Path interpreter
  • Divide the flight plan into 3 separate files (Jeremy)
    Takeoff/Landing - flight plan blocks describing the complex routines and using altitudes and waypoints from the User file
    Generic - a file that users should never need to edit, containing circles, rectangles, figure-8's, and surveys that appear on command when GCS buttons are pressed. Altitude/locations could be relative to the User file
    User - Here we can specify fixed or dynamic Home point and add complex routines or simply save certain basic routines.

Airborne Software Suggestions

Stability

Navigation

  • Flight plan stage sensing
    Carrot should continue past the waypoint toward the next point, but the point should not be officially acknowledged until the plane has passed it. This way we can have smooth, intelligent navigation while still considering waypoint triggers such as still-photo, sensor drop, or throttle off.

Other

  • Revised autopilot modes (Jeremy)
    I propose a restructuring of the modes as follows - create 3 top-level modes: Man, Stab,and Auto, each with an appended autonomous sub-mode (i.e. Man/Climb, Stab/Kill, Auto/Landing, etc.) This will give the operator much more information and a much better indication of what the plane will do when switched to autonomous mode in a concise manner. Furthermore, I see an advantage in having simple behaviors like Climb, Landing, etc. be defined as sub-modes so that operator is always alerted of changes such as Descent or can easily configure trim, gains, and payload options in the airframe file (i.e. if mode = Landing then retract camera, turn off video system, use landing trim, etc.)
    • Sub-modes
    1. Ground - The default boot mode. In this mode the throttle is locked at 0% or not armed at all (no PWM signal), stability is disabled (servos locked in neutral position), and video power is off, but flight plan blocks are processed. This will improve safety and aid in lost plane retreival as the servos, and video will not drain the battery if landing detection is implemented. Ground mode should exit only if Takeoff is manually triggered.
    2. Takeoff - 3 possible triggers: GCS button, GPIO button, or R/C throttle. Checks for error modes and desired climb, then arms/unlocks throttle, initates "Takeoff" flight plan block, and instantly deroutes to Climb mode. Deroutes to Descent mode without unlocking throttle if not OK. Takeoff could simply be a flag rather than a "mode".
    3. Climb - Triggered anytime "aggressive climb" is active
    4. Descent - Triggered anytime "aggressive descent" is active
    5. Nav - Normal level flight
    6. Landing - Same as Nav but using the "Landing" flight plan block and any airframe gains/trims/payload options as defined in airframe.xml
    7. Kill - Triggered manually - locks throttle at 0% and uses pitch/roll settings from Airframe.xml.
    • Error sub-modes
    1. No GPS - A temporary mode using pitch/roll settings from airframe.xml
    2. Home - Triggered by distance in Auto mode or by distance/RC loss in Stab mode (after n seconds, as defined in airframe.xml). Exits upon manual block/mode change requests from the GCS and cannot be re-initiated for 30 seconds.
  • Continually broadcast last known location
    AP should continue to broadcast the last known GPS coordinate in the event of GPS loss. (i.e. upside-down crashed plane should continue to send last known position in case it was out of data range prior to the crash.)