5
© 2016, Terma BV, all rights reserved Contact: [email protected] 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.

Extending the UI One of the benefits of Qt is that it is ...ccs.terma.com/resources/customUserInterfaces.pdf · Extending the UI One of the benefits of Qt is that it is highly Custom

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Extending the UI One of the benefits of Qt is that it is ...ccs.terma.com/resources/customUserInterfaces.pdf · Extending the UI One of the benefits of Qt is that it is highly Custom

© 2016, Terma BV, all rights reserved Contact: [email protected]

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.

Page 2: Extending the UI One of the benefits of Qt is that it is ...ccs.terma.com/resources/customUserInterfaces.pdf · Extending the UI One of the benefits of Qt is that it is highly Custom

© 2016, Terma BV, all rights reserved Contact: [email protected]

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

Page 3: Extending the UI One of the benefits of Qt is that it is ...ccs.terma.com/resources/customUserInterfaces.pdf · Extending the UI One of the benefits of Qt is that it is highly Custom

© 2016, Terma BV, all rights reserved Contact: [email protected]

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

Page 4: Extending the UI One of the benefits of Qt is that it is ...ccs.terma.com/resources/customUserInterfaces.pdf · Extending the UI One of the benefits of Qt is that it is highly Custom

© 2016, Terma BV, all rights reserved Contact: [email protected]

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

Page 5: Extending the UI One of the benefits of Qt is that it is ...ccs.terma.com/resources/customUserInterfaces.pdf · Extending the UI One of the benefits of Qt is that it is highly Custom

© 2016, Terma BV, all rights reserved Contact: [email protected]

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:

[email protected]

[email protected]

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