API Overview¶
While the Web User Interface provides a great way to get started quickly with OutdoorNav Software, some users will want programmatic control or may wish to develop their own graphical user interfaces – for those users, the Application Programming Interface (API) provides the flexibility to do so. This is illustrated in the figure below.

Interconnection between OutdoorNav Software and UGV Controller¶
The API is, at present, a ROS1 Noetic API, but will soon be migrated to a ROS2 API. The details of the API are provided in the following sections:
Platform API: The set of ROS Topics that must be published by the UGV as the OutdoorNav Software subscribes to these topics.
Topics Published by OutdoorNav: The set of ROS Topics published by OutdoorNav Software, to be subscribed to by the UGV.
Topics Subscribed to by OutdoorNav: The set of ROS Topics subscribed to by OutdoorNav Software, typically published by the integrator for directing OutdoorNav operation.
Services Exported by OutdoorNav: The set of ROS Services provided by OutdoorNav Software, for use by the UGV.
Definitions: The set of ROS Message and ROS Service definitions.
Advanced Usage: Details on the use of tasks along with example code.