Glossary
- API
Application Programming Interface
- App
A single Python script that the user may run and produces a working pntOS-Python system. For more details on apps, see the reference tutorial apps.
- ASPN
A data standard that describes what PNT data should be exchanged for consistent usage and interoperability of PNT estimators across different systems, sources, and users. For the purposes of pntOS-Python, ASPN is the data standard used for passing navigation information between plugins. For more information, see the ASPN FAQ.
- C pntOS API
An API written in C that defines a Position, Navigation, and Timing Operating System (pntOS). The C pntOS API consists of abstract plugin definition header files. For more information, see pntos.com or the pntOS docs.
- Cobra
Cobra is a reference implementation of pntOS-Python consisting of a set of Python plugin implementations along with a set of tutorial Apps to demonstrate the process of developing a navigation system with pntOS-Python.
You can find Cobra components in various places around the
pntos-pythonrepository:Cobra Components Breakdown Component name
Location within the repository
Module import location
Description
pntos-cobra/src/pntos/cobra/pntos.cobraImplementation of API - functional Python plugins.
apps/**
Each app loads a set of Cobra plugins, defines any config values, and starts a pntOS-Python implementation with the given apps.
pntos-cobra/src/pntos/cobra/config/pntos.cobra.configContains the Cobra config dataclasses along with two important utility functions:
config_to_registry()andconfig_from_registry().pntos-cobra/src/pntos/cobra/utilspntos.cobra.utilsUtility objects and functions for other Cobra components (e.g. navigation functions like
ecef_to_llh())Cobra Internal Objects
pntos-cobra/src/pntos/cobra/pntos.cobra.internalAny Cobra objects that are not plugins, config, or utilities. These objects should not be needed in an app.
** The apps do not export in the
pntos.cobramodule, but are still a part of Cobra.To get started with Cobra, check out:
Installation Guide to set up the environment.
Introduction for a more in-depth introduction to Cobra and pntOS-Python.
Running Your First App to run your first Cobra app.
Tutorial Apps to start learning more details of Cobra development with the tutorials.
- EKF
Extended Kalman Filter
- GNSS
Global Navigation Satellite System
- GPS
Global Positioning System. A constellation of 24 satellites launched by the USA which provide geolocation and timing data to a GPS receiver.
- IMU
Inertial Measurement Unit
- INS
Inertial Navigation System
- LCM
Lightweight Communications and Marshalling. For more information see the LCM documentation.
NavToolKit (navtk) is a modular navigation software library, designed to assist users in the creation of navigation filters in an efficient, pluggable, agile manner. It is written in C++ but also contains Python bindings for use in projects like Cobra. For more information, see the NavToolKit FAQ or the NavToolKit docs.
- PNT
Positioning, Navigation, and Timing
- pntOS
pntOS stands for Position, Navigation, and Timing Operating System. It consists of an API which defines a plugin architecture for implementing PNT solutions. Since it is only an architecture, any solution created using pntOS is going to be unique from pntOS itself and may be unique from other pntOS solutions. For more information, see the FAQ.
- pntOS-Python
An API written in Python that defines a Position, Navigation, and Timing Operating System (pntOS). pntOS-Python consists of abstract plugin definitions which can be found in the pntos-api/src/pntos/api/plugins directory in the
pntos-pythonrepository. Cobra is an example implementation of pntOS-Python. For more information, see the Introduction.- PVA
Position, Velocity, and Attitude. This is usually in reference to a wrapped
MeasurementPositionVelocityAttitudeMessage.- ROS
Robot Operating System, an open-source robotics software framework. In our case, it serves as an alternative transport mechanism to LCM.
- S&T
Science and Technology