The Apogy open source project provides a set of frameworks, EMF models, and Graphical User Interface components that simplify the creation of the software required to operate a physical system.
Given our background on space missions, Apogy includes support to represent 3D topologies, interact with simple sensors, provides a plan editor that allows an operator to simulate or control a system, data displays to monitor system during operation as well as models of environment into which the systems are operated.
As an example, integrating a rover in Apogy is as simple as creating an EMF model that represent its interface (command and telemetry) and defined its topology (i.e. how the physical components are attached together and how the degrees-of-freedom are mapped to the telemetry). Once these two steps are completed, one can visualize the rover in 3D in its environment (showing cameras field of view in 3D, using the generic 3D tools to measure distance, record trajectory, measure sun angle, etc), create commands and display telemetry (camera views with overlays, filters and tools, recording and playback of data, etc) without having to write a single line of code ! This means that the operator can already start configuring his/her control station, even if there is no real rover to command at that point. Implementing the necessary interface between the generated EMF classes and the hardware (which is usually straightforward) is all that remain to complete the integration and benefit from the many tools already available in Apogy.
Apogy provides a single model that defines: command, telemetry, engineering units, limits, documentation, 3D topology and 3D representation. System assemblies can then be created from these models to build different spacecraft and instrument configurations. The mission target environment can also be defined to include maps (2D and 3D), locations, annotations as well as location specific and time dependent model of the sky (sun, moon and stars). Apogy provides basic operational plan editors that allow, through context switching, the tests and execution of plans in a seamless process.
Teleoperation is supported through flexible hand controller mapping, camera displays with customizable overlays and image filtering, and real-time map displays (2D and 3D). Apogy maintains rigorously contexts information such as the command and parameter used to generate the plan execution product, timing information and localization. Apogy then make use of this information to provide the overall context of the operations and their products to the engineers and scientists.
In its current form, Apogy includes, but is not limited to, the following:
System modeling support, including:
- 3D topology modeling as EMF models;
- Data bindings for system to 3D models (connecting telemetry to 3D model behaviors);
- 3D System viewer based on the JMonkeyEngine 3;
- Basics sensors EMF models (Camera, Field of View, etc);
- Generic Camera views that supports filters, overlays and tools;
- Limited Robot Operating System (ROS) interfacing support EMF models.
The System 3D Editor - Assembling the Mars Exploration Science Rover (MESR)
Environment modeling including:
- Earth Surface worksite EMF models and implementation;
- Earth Orbit and worksites EMF models and implementation;
- 3D Environment viewer based on the JMonkeyEngine 3;
- 3D Orbital environment viewer (Earth View) based on NASA World Wind;
- Basics 3D data EMF models (Point clouds, meshes, etc);
- Actual example of Earth Surface Worksites, including Digital Elevation Models (DEM).
The Environment 3D Viewer – DEM and projected images.
The Environment 3D Viewer - The rover and the worksite at night.
The Earth View - Predicted orbit for Radarsat-2 and CSA ground station field of view.
The Environment 3D Viewer – Display of a point cloud (in red) acquired by a LIDAR.
Basic operation call definitions, including:
- Basic command list and parameters;
- Game controllers to system model commands mapping ;
- Command to Data context models;
Supporting code, including:
- Various mathematical models and utilities;
- 3D data manipulation utilities;
- Image manipulation utilities;
- Path and Path planners EMF models and implementation;
Limited import/export functions from/to external models (ex : DEM).