Glossary
- API
Application Programming Interface
- App
A single Python script run by the user that produces a working Cobra 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 Cobra, 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 blanket term for a specific Python implementation of the pntOS architecture, including a pure Python API and the apps and plugins derived from it.
The various components of Cobra can be found in the Cobra repository:
Cobra Component Breakdown Component name
Location within the repository
Module import location
Description
pntos-cobra-api/src/pntos/api/pntos.apiAn API written in Python that defines a Position, Navigation, and Timing Operating System (pntOS). Consists of abstract plugin definitions.
pntos-cobra/src/pntos/cobra/pntos.cobraImplementation of API - functional Python plugins. Also known as Cobra “core plugins”.
Cobra Apps **
pntos-cobra-apps/src/pntos/apps/pntos.cobra.appsEach app loads a set of Cobra plugins, defines any config values, and starts a Cobra implementation.
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
pntos-cobra/src/pntos/cobra/extraspntos.cobra.extrasAuxiliary Cobra plugins and tools that are more advanced or niche than the standard components.
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.
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.
- 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