View
8
Download
0
Category
Preview:
Citation preview
© 2016, Terma BV, all rights reserved Contact: ccswebmaster@terma.com
Extending the UI
Custom user interfaces with CCS5
Introduction CCS5 is a software system for monitoring,
control and ground testing of spacecraft. This
article describes the different ways to create
custom and mission-specific user interfaces.
An advanced customer case study is described.
Standard CCS5 User Interface The standard user interface of CCS5 is
implemented using Qt and C++; it provides:
Tabular and tree views of current TM parameters, and recent TM and TC packet histories
Archive viewers, providing historical views of TM, TC and events.
Synoptic picture displays; these allow
the user to edit schematic 2D pictures
of the satellite, and to animate them
in real time.
The design was inspired by legacy systems,
while taking advantage of Qt to modernise
the overall user experience and improve
performance
This is suited for detailed diagnostic views and
low-level control, usually by direct TC sending,
or running TOPE sequences.
Figure 1 CCS5 Qt-based Graphical MMI
One of the benefits of Qt is that it is highly
portable to different operating systems; we
provide CCS5 on both Windows ™ and Linux ™
with a practically identical user interface:
Figure 2 CCS5 user interface on RHEL and Windows
Since CCS5 is entirely based on Qt, this also
avoids dependencies on third-party graphical
toolkits, and consequent maintenance and
licensing issues.
The standard CCS5 user interface provides
some unique features, for example (perhaps
surprisingly) it is, so far as we know, the only
satellite control system that allows the user to
click on a parameter to directly see its
location in a TM or TC packet:
While this style of interaction is suitable for
test and diagnostic purposes, it is probably
too intricate for routine automated
operations.
There is a need to create custom user
interfaces to simplify routine operations.
© 2016, Terma BV, all rights reserved Contact: ccswebmaster@terma.com
Custom MMI’s The user has two options to create custom
user interfaces:
Tcl/Tk, the basis of TOPE language
QML – Qt Meta Language
The first of these is a good option when the
goal is to guide the user through automated
steps in TOPE, or to “de-skill” operations
(reduce the background knowledge needed to
run an intricate procedure).
The second is recommended when the goal is
to fully wrap the user interface behind a
simplified high-level user interaction layer
Tk Scripting from TOPE
CCS5 itself uses the Tk scripted approach for
some of its tools and utilities. It provides a
colour and font theme to ensure a consistent
“house style”’ over all the CCS5 tools.
Examples of this approach are the Launch
Pad, RAT (the results archiving tool), the
retrieval tools DART and PART, and others.
Figure 3 Launch Pad - a CCS5 scripted MMI using Tk
The CCS5 style follows a convention where
the user activates and deactivates panels via
check-buttons at the top of the window, with
each panel revealing a different level of detail.
Figure 4 DART data retrieval tool
A library is also provided for management of
TOPE test procedures, to log and present the
results of checks, and to request input from
the test conductor.
Figure 5 Test Procedure using CCS TOOLS library
This library is fairly basic; customers have also
developed their own high-level test libraries
using Tk, with very attractive results.
Qt Quick and QML In the later releases of Qt 4, and consolidated
in Qt 5 around 2012-2013, a technology was
introduced called variously: Qt Declarative, or
Qt Quick. This provides the declarative user
interface scripting language QML. It was
aimed at supporting more immersive user
interfaces, with multi-touch and swipe
support, similar to those typically seen on
tablets and mobile phones.
Figure 6 standard Qt Quick demo screenshot
QML uses OpenGL to support smooth
animation effects, which requires OpenGL
support from the user graphics card or
software support for OpenGL. This is either in
the reduced configuration (ES) supported by
© 2016, Terma BV, all rights reserved Contact: ccswebmaster@terma.com
phones and tablets or in the full OpenGL
desktop configuration. In recent releases, it
attempts to automatically detect the platform
and load the required library.
QML differs from conventional scripted
procedural languages; it describes how the
user interface shall appear in different states,
and automatically animates the display state
from changes to object properties. This is a
powerful model, although it takes some
familiarisation if you are used to a step-by-
step imperative programming approach.
You can find out more about QML from the
launch demo video available here:
https://www.youtube.com/watch?v=vhWS_bN-T3k
To try it out, you can download and install the
open source edition of Qt with Qt Creator,
you can also run a number of QML examples.
QML adoption in CCS5 Soon after its introduction, CCS5 adopted
QML for the standard AND (alphanumeric
displays). These are simple tabular telemetry
parameter displays. AND’s are quite
convenient because they don’t require the
user to spend time defining a picture layout.
The TM parameter value is presented along
with a colour representation of its monitoring
state (grey, green, yellow, red)
Figure 7 QML-based Alpha Numeric Display
The CCS5 adoption included a number of
improvements, such as:
The ability to drag & drop parameters
onto the display, allowing AND’s to be
defined on-the-fly.
Top-level panels summarise the states
of parameters inside them.
The ability to open displays from
TOPE
Figure 8 Overview of available AND's
The CCS5 alphanumeric display makes
moderate use of the smooth animation
capabilities of QML, to provide a more
modern look-and-feel.
The AND desktop also allows the user to
navigate to user-written QML files, “quicks”
and to open them without leaving the tool.
The CCS5 demo test pack includes some QML
files showing what can be done; for example
embedding a web browser, use of OpenGL
shaders, world maps in SVG and more…
Figure 9 Demo QML files included with CCS5
© 2016, Terma BV, all rights reserved Contact: ccswebmaster@terma.com
This video link introduces the QML modules of
CCS5:
https://www.youtube.com/watch?v=OkJLU_kc5h0
Including 3D models The Qt3D module is delivered with CCS5,
which allows the basic capability to include
and animate 3D models
Figure 10 Example 3D satellite model
The module supports a limited number of
standard model formats, and for example it is
possible to download SketchUp models and
convert them to one of the supported
formats, although results depend on the
quality of the original model and the
conversion.
Note: at the time of writing, the Qt3D module
is experimental from Qt Labs, however we are
planning to upgrade to Qt5.6, in which the
module is no longer experimental.
Case study: VOSSCA The Thai space agency GISTDA1 adopted CCS5
for its satellite operations, and wanted to
develop its own immersive user interface to
the satellite control system using QML. The
adapted system is known as VOSSCA.
Starting with a vision to create a user
interface inspired by science fiction movies,
the most suitable one, achievable with
1 Geo-informatics & Space Technology
Development Agency
current technology seemed to be the one
seen in the movie “Oblivion”
Figure 11 Oblivion console (courtesy Universal Pictures)
A short UI study was performed to outline the
use cases and develop a story-board for the
different desired interactions.
GISTDA then embarked on the development
of a full touch-enabled satellite console
embedded in a custom-built physical stand; all
of the custom development was performed in
Thailand. The displays incorporate both 3D
content and video streaming.
The results are shown in the following photos
and screen shots.
Figure 12 Screenshots from VOSSCA console
© 2016, Terma BV, all rights reserved Contact: ccswebmaster@terma.com
Figure 13 Physical deployment of VOSSCA console
The console was exhibited at the SpaceOps
2016 conference in Daejeon, Korea. Extremely
positive comments were received from both
space agencies and technology companies.
To find out more about VOSSCA, contact:
jayranon@eoc.gistda.or.th
andy.witts@awrlloyd.com
Conclusion This article describes how to extend the CCS5
user interfaces, and to embed telemetry and
telecommand capabilities in an “advanced” or
more inspiring user interface.
Download an evaluation version of CCS5 from
http://ccs.terma.com
Recommended