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

Cobra API

pntos-cobra-api/src/pntos/api/

pntos.api

An API written in Python that defines a Position, Navigation, and Timing Operating System (pntOS). Consists of abstract plugin definitions.

Cobra Plugins

pntos-cobra/src/pntos/cobra/

pntos.cobra

Implementation of API - functional Python plugins. Also known as Cobra “core plugins”.

Cobra Apps **

pntos-cobra-apps/src/pntos/apps/

pntos.cobra.apps

Each app loads a set of Cobra plugins, defines any config values, and starts a Cobra implementation.

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

Cobra Extras

pntos-cobra/src/pntos/cobra/extras

pntos.cobra.extras

Auxiliary Cobra plugins and tools that are more advanced or niche than the standard components.

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.

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