Natural Point OptiTrack 3D Tracker
Generic information
Cameras specs (Optitrack):
- 8 cameras
- Resolution: 1280 × 1024
- Frame Rate: 120 FPS
- Input/Output: USB 2.0
- 1.3 MP resolution, expansive 56° FOV, and on-camera processing
Software specs (Natural Point Motive):
- 6DoF with exacting precision—with support for real-time and offline workflows
- Automatic lens detection, with support for custom lenses
- Customizable rigid body solver parameters, including:
- Deflection and flexibility
- Dynamic and static constraints
- Marker sharing
- Kalman smoothing
Calibration
Create a new project.
Then follow the instructions of the following video.
https://www.youtube.com/watch?v=cNZaFEghTBU
- Do not forget the ground plane calibration!
Data acquisition from external application
Approaches
There are 2 approaches to access the data from the tracking system:
- using the provided SDK (C/C++/C#/VB/.Net)
- creating your own application (you should handle packet parsing and interpretation) as shown in the following diagram.
Prerequisites
In order to access the data from the tracker system using your own application follow the next steps:
NOTE: the tracker startup sequence must be applied BEFORE the acquisition software is started; after the acquisition software has detected tracker packages the settings of the tracker software (e.g. name of rigid bodies) must NOT be changed;
- Start the tracker program “Motive”
- Select the latest calibration setting
- Select markers and bind them to a rigid body
- Select the streaming menu and check the broadcast checkbox; now dynamic tracker packets are sent via the UDP multicast protocol
The following diagram provides an overview of the data flow.
Data formats
The packet structure of the streamed tracking data can be found here or in the /nst-shared/Projects/px4-drone/tflog-libs sourcecode.
ATTENTION: The packet size is dynamic! Take care in the parsing routing.
Sample application
At NST we have developed a standalone (C++) application to acquire data from the tracker. You can use this application as a starting point in development.
tflog
- available locally at: /nst-shared/Projects/px4-drone/tflog
- uses tflog-libs (available locally at: /nst-shared/Projects/px4-drone/tflog-libs ) to provide protocol interfaces to tracker (reuse for own implementation)
- only logs rigid bodies; for each rigid body an independent logging file is created
- highly configurable application to acquire data from drone / tracker / both (synced)
tflog-doc
- startup documentation can be downloaded drone_doc
- available locally at: /nst-shared/Projects/px4-drone/tflog-doc
This application is a component of a larger ecosystem for quadrotor platforms control and sensor fusion algorithms development.
The application connects as a client to the tracker system and logs 3D position data as shown in the diagram.

