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-python repository:

Cobra Components Breakdown

Component name

Location within the repository

Module import location

Description

Cobra Plugins

pntos-cobra/src/pntos/cobra/

pntos.cobra

Implementation of API - functional Python plugins.

Cobra Apps

apps/

**

Each app loads a set of Cobra plugins, defines any config values, and starts a pntOS-Python implementation with the given apps.

Cobra Config

pntos-cobra/src/pntos/cobra/config/

pntos.cobra.config

Contains the Cobra config dataclasses along with two important utility functions: config_to_registry() and config_from_registry().

Cobra Utilities

pntos-cobra/src/pntos/cobra/utils

pntos.cobra.utils

Utility 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.internal

Any 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.cobra module, but are still a part of Cobra.

To get started with Cobra, check out:

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

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-python repository. 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 MeasurementPositionVelocityAttitude Message.

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