Description:
The docs already document this as a future opt-in mode (docs/09-synchronization.md, line 340):
"interpolation would be a separate opt-in mode"
Right now Portal picks the nearest frame to match a robot state. The photo and robot position timestamps never match exactly.
I want to add interpolate_state: bool (default false). When enabled, continuous float fields in the state are interpolated to match the frame's timestamp — so the robot position perfectly matches what the camera captured. Bool and int fields stay as-is.
This improves ML training dataset quality.
Happy to implement if this direction looks good!
Description:
The docs already document this as a future opt-in mode (docs/09-synchronization.md, line 340):
Right now Portal picks the nearest frame to match a robot state. The photo and robot position timestamps never match exactly.
I want to add interpolate_state: bool (default false). When enabled, continuous float fields in the state are interpolated to match the frame's timestamp — so the robot position perfectly matches what the camera captured. Bool and int fields stay as-is.
This improves ML training dataset quality.
Happy to implement if this direction looks good!