Adding new imagers - OpenPTrack/open_ptrack_v2 GitHub Wiki
This page is a working document to help others add imagers to OpenPTrack.
ROS Wrapper
Each imager needs a ROS wrapper to subscribe to the various topics (i.e. data) needed to run tracking. Most imagers already have this; for example, we currently use kinect2_bridge for the Kinect v2, Stereolab's zed-ros-wrapper for the Zed, and Intel's realsense-ros wrapper for the realsense. This document assumes that you already have a ROS wrapper and doesn't cover how to make your own. Suggestions for external resources to help write a ROS wrapper are appreciated and will be added to this document as we find them.
Launch files
The ROS wrapper will expose and publish the relevant topics for the imager. We then have to wire these topics to the appropriate nodes for OpenPTrack. This section walks through the launch files for a single camera RealSense as an example (TODO: multi-camera example).
There are a series of imager specific launch files for each imager, as well as general launch files that are used for all imagers. You can follow these launch files starting with the base single camera launch file. The following tree summarizes these files, using the RealSense as an example:

We first launch the imager using the launch file provided from the wrapper. Then for each tracking module (person/object/pose tracking), we launch a generic tracking node (which is the same for every imager) and an imager specific launch file. In this imager-dependent file, you'll need to change the topic names to match those published by the imager's ROS wrapper.
For example, in detector_depth_real.launch, the camera info topic and pointcloud topic match the topics being published by the ROS wrapper. New launch files for each module (person/pose/object) can be created by analogy to the existing imagers.