TurniFi Extrinsics
Robust fiducial SLAM for multi-sensor calibration and motion estimation.
Motion Capture for Robotics
Find out where things are and how they're moving. Using numerical algorithms, TurniFi turns your cameras into precision instruments that can be used for calibration, groundtruthing, or any other application where pinpoint positioning is needed.
How it works
TurniFi measures the spatial relationship between fiducial markers and cameras. These observations are combined with physical constraints to generate position estimates for all objects in the system.
Extrinsic Calibration
For extrinsic calibration, cameras are modeled in the robot coordinate frame. Fiducial markers placed around the workspace act as calibration targets. The TurniFi tool will estimate the camera poses, robot trajectory, and external marker locations.
Motion Estimation
A robot’s motion can be estimated with the TurniFi system using on-board cameras and external targets. Markers can also be placed on the robot itself, with an external camera acting as a localization aid.
Need ground truth trajectories?
Flexible Modeling
Custom coordinate frames and kinematic constraints give the flexibility needed to model almost any robot. Robot on a turntable? Modeled. 2D plane constraints? Check. Wobbly suspension? You’re good.
The TurniFi system models constrained relationships between different coordinate frames, enabling:
- Constrained estimation of turntable rotation without encoders.
- Incorporate known pose relationships with fixed frame graph links.
- Fiducials can be constrained to the ground plane.
- Use additional markers to link as-built sensor locations to CAD reference datums.
Comprehensive Workflow
The Skip TurniFi tool features an end-to-end estimation pipeline with automatic initialization and outlier rejection.
- Define your sensors, coordinate frames, and kinematic constraints.
- Position markers and record a dataset.
- Run the TurniFi tool to get 3D positions and trajectories.
Detailed diagnostics help spot problems so you can iterate and improve performance.