Perception Tool Kit (PTK) API Guide
Perception Toolkit

The PercepTIon Toolkit is a set of components, each of which provides data structures, common processing algorithms, visualization tools, and interface tools (e.g. for using sensors, data storage and playback) for effectively developing the sensing and perception capabilities required for an autonomous system. It aims to provide a cross-platform API that delivers identical behavior on both PC and embedded (TDA2/3/4x) in order to simplify the development process. Standard tools and techniques can be used to develop and debug on a PC, and the embedded behavior will match. It is generally OS-independent and is compatible with Vision SDK and OpenVX-based systems on TDA2/3/4x and with x86-64 processors running Windows or Linux. The implementation is standards-compliant C99 and C++11, with additional, architecture-specific high performance routines used transparently where appropriate.

Using one component of the PercepTIon Toolkit does not generally require all components to be used, but there is a loose hierarchy (for instance all other components require core due to the basic runtime infrastructure it provides). Component dependencies will be listed with each component. The current components provided by the PercepTIon Toolkit are:

  • Base Component: Provides infrastructure and data structures for point, vector, point cloud and map containers.
  • Algorithm Component: Provides API for different sensor specific and sensor independent algorithms.
  • GUI Component: Provides GLM based vizualization services.
  • Database Component: Provides API for interfacing with the TIAP.
  • Driver Component: Provides driver API for interfacing with the Lidar and INS sensors.
  • External Dependency Interface: Provides API for interfacing with the external services for accessing OS specific functionality (ex:- mutual exclusion, semaphore support).