Paparazzi Center/Evolutions

From PaparazziUAV
Revision as of 10:42, 15 March 2016 by Earthpatrol (talk | contribs) (Current Paparazzi Center analysis)

Jump to: navigation, search

Introduction

Hello ! I'm an intern student for 5 months at the ENAC UAV Lab. My mission is to conceive a new HMI for the Paparazzi Center in Python / Qt to make it more intuitive and maintainable. This page is dedicated to explanations and talks about how could be the brand-new Paparazzi Center...

Current Paparazzi Center analysis

Paparazzicenter screencap 160315.png

Requirements

Solutions

New Paparazzi Center specifications

Philosophy

The new HMI of the Paparazzi Center must be conceived to be the more intuitive and maintainable as possible. In order to do that, many things have to be redesigned...


Requirements

Main organization

  1. Be usable on a small laptop or tablet
  2. Be easily manipulable
  3. Reach quickly any step of use
  4. Display always all the useful informations

See foreseen solutions...

Terms and data management

  1. Be understandable with a minimal knowledge or learning phase
  2. Respect the old input and output XML files formats

See foreseen solutions...

High level functions

  1. Form an assembly of components to build a configuration
  2. Choose quickly and easily the desired components in well defined categories
  3. Check that the configuration makes sense
  4. Gather configurations (set)
  5. Build the configuration for a specific use
  6. Flash the code into a real device
  7. Launch programs individually
  8. Launch programs together to realize a mission (session)
  9. Save/edit/remove a configuration, a set of configurations and a session

See foreseen solutions...


Possible solutions

Main organization

  1. Compact main window, wide widgets or buttons => increase legibility and accessibility
  2. Choice widgets instead of input ones => be convenient to use it "with mittens" on the flying field for instance (tabs, combo-boxes, check-boxes, trees,...)
  3. Tab widget => allow flexibility between steps but separate clear parts as well (equipment, build, session, console)
  4. Fixed widgets (set/configuration selector, bottom bar) and dynamic one (overview section on the right side)

Terms and data management

  1. Well defined objects with meaningful names and attributes (a "set" of "configurations" / each "configuration" has a name, a unique ID, a color, material equipments and a favorite session)
  2. Parser adapted to existing XML format (conf.xml, conf/aircraft/conf.xml, control_panel.xml,...), XML generator knows the required structures

High level functions

  1. Widget to display the current configuration (lists by category / boxes appearing when category not empty)
  2. File chooser with a tree (directories, categories) and a quick search bar to select the XML files found in directories
  3. Check the format of XML files and the association of components (For instance : 2 flight plans not possible, airframe necessary,...)
  4. Set manager to move configurations from a set to another, copy them, add/remove a configuration,... (popup)
  5. Target system : target defines the way of building and the possible sessions, only important informations are displayed (building status)
  6. Device selection and connection information (link OK ?), flash status after
  7. List of programs installed
  8. Session manager to choose which programs are useful for the mission and start/stop them individually
  9. Cache to remember the settings of the Paparazzi Center (loaded set and configurations), load only added files


Conception and models

Click here to see my first propositions of the new Paparazzi Center HMI (Git repository).