Releases: Positronic-Robotics/positronic
Releases · Positronic-Robotics/positronic
v0.2.1
Fixes
- Fix PyPI installability:
openpi-clientmoved from core dependency to optional[openpi]extra — resolves numpy version conflict withrerun-sdk==0.30.0that madepip install positronicfall back to 0.1.1 - DreamZero vendor now uses
positronic.utils.serializationinstead ofopenpi_client.msgpack_numpy(wire-compatible) - Default server port changed from 5000 to 8400 (Docker Compose configs updated accordingly)
v0.2.0 — PhAIL Launch
Full pipeline and infrastructure for the PhAIL launch: real-robot evaluation of VLA models on commercial picking tasks with production metrics (UPH, completion rate, availability).
PhAIL
- Evaluation harness with RUN/STOP/HOME directives and balanced multi-policy sampling (#366, #370, #373)
- Production visualization server with leaderboard, baselines, and per-object metric aggregation (#338, #340, #376)
- Dataset release pipeline with versioned public S3 layout and verification (#376)
- Unified eval configs with UPH and MTBF metrics (#286)
- Per-machine Docker Compose configs for multi-robot deployment (#344, #356)
Vendors
- LeRobot 0.4.x (SmolVLA, ACT, Diffusion) – full training and inference (#328)
- DreamZero (NVIDIA 14B World Action Model) – inference, LoRA fine-tuning, wan2.1/wan2.2 backbones (#326, #333, #369). Work in progress.
- GR00T N1.6 update with 6D rotation representation (#266, #268)
- Refactored vendor-specific code into
positronic/vendors/modules (#278, #288) - Extracted
VendorServerbase class with startup warmup and dynamic checkpoint loading (#259, #330, #352)
Codecs & Inference
- Composable
Codecwith|and&operators (#307, #312) - Client-side codecs decoupled from inference servers (#313)
- Trajectory-based codec variants for data conversion (#296)
- Offboard inference server and remote policy (#246, #265)
- Status-based WebSocket protocol for model loading (#283)
- Policy refactored to return action chunks with delegated buffering (#254)
- Joint-space targets from recorded EE targets via IK (#347)
Dataset
- Remote dataset server and client for HTTP-based access (#269)
- Public dataset access via
positronic-publicS3 bucket (#270) - Dataset quality signals and episode filtering (#322)
diff,norm, and scalar aggregators for signal transforms (#323)- Generalized migration tool to work with any
Datasetsource (#376) - Lazy evaluation for episode transforms (#272)
- Dataset configs refactored into
cfg/ds/with public/internal separation (#277) - Mark unfinished episodes and ignore them on reading (#250)
Visualization
- 3D trajectory visualization with URDF robot model in Rerun viewer (#318, #362)
- Filtered episode navigation and URL-based time seek (#325, #332)
- Optimized RRD generation: AssetVideo, send_columns, fixed O(N²) trajectory trail (#320, #321)
RecordingCodecfor rerun-based inference introspection (#310)
Hardware
- Make Franka
Robotpicklable by deferring connection (#360) - Explicit
Recovercommand for robot error recovery (#308) - Franka driver upgrade with
ee_wrenchcapabilities
Infrastructure
v0.1.1
[0.1.1] - 2025-10-07
This release is focused on addressing bugs and subtle inaccuracies of v0.1.0. With it, the end-to-end workflow as described in README.md is working.
Added
- Observer system to MujocoSim for computing simulation metrics (#158)
DsPlayerAgentto replay datasets withreplay_record.pyscript (#155)- Movement sensitivity parameter for controller input (#152)
- Discord webhook integration for merged PR announcements (#153)
Changed
InferenceCommandclass to manage inference lifecycle (#149)- Split
positronic.dataset.transformsinto several submodules for better organization (#157) - Refactored
RelativeTargetPositionActionto userobot_state.ee_posefor position and quaternion inputs, removing theRelativeRobotPositionActionclass (#166) - Updated dataset transforms and policy wiring to align with LeRobot updates (#164)
- Encode state in inference consistently to data collection for E2E workflow (#166)
- Enabled true streaming of episode RRD data over FastAPI (#160)
- Enhanced WebXR iPhone HUD button behavior with toggle states (#151)
- Bundled rerun viewer assets locally and updated episode template to self-host the iframe (#150)
- Improved GUI camera initialization and WebXR host discovery (#148)
- Formalized contribution guidelines and updated workflow checks (#156)
- Updated action configuration approach (#164)
Fixed
- Fixed bug where simulator data reported the same values across episode (#162)
- Home directory resolution (~) support to LocalDataset and LocalDatasetWriter (#154)
- Fixed inference reset issues in MujocoSim (#158)
- Fixed wrong feature name in observation encoder (#164)
- Fixed wrong image resizing call (#164)
- Fixed bug in ActionDecoder implementations (#164)
- Fixed case where signals are empty in Episode duration property (#165)
- Fixed formatting and lint errors (#159)
- Fixed bug when mujoco state was written at the end of episode instead of at the beginning (#155)
- Reset method to PI0RemotePolicy class (#149)
Improved
- Raised clear error when dataset path is wrong (#163)
- Removed excessive FPS logging in MujocoCamera (#167, #165)
- Inference script now reports meta information and success metrics for simulation tasks (#161)
- Added utility for exporting transformed datasets to disk (#164)
- Introduced
KeyFuncEpisodeTransformto simplify creating EpisodeTransforms (#164) - EpisodeWriter now aborts when context is exited with exception (#164)
- Increased queue size of Inference.command receiver to avoid drops of reset command (#158)
- Device detection function for inference (#149)
v0.1.0
Release candidate 1 for v0.1.0
Preparing for release