policy_client: stationary examples (openpi + lerobot)#255
Open
shantanuparab-tr wants to merge 4 commits into
Open
policy_client: stationary examples (openpi + lerobot)#255shantanuparab-tr wants to merge 4 commits into
shantanuparab-tr wants to merge 4 commits into
Conversation
This was referenced Jun 15, 2026
Collaborator
Author
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
shantanuparab-tr
force-pushed
the
06-15-policy-client-06-producer-integration
branch
from
June 15, 2026 16:56
dfb2770 to
b1d4a71
Compare
shantanuparab-tr
force-pushed
the
06-15-policy-client-07-examples
branch
2 times, most recently
from
June 15, 2026 18:45
eb888d7 to
97abf35
Compare
shantanuparab-tr
force-pushed
the
06-15-policy-client-06-producer-integration
branch
from
June 15, 2026 18:45
b1d4a71 to
6b1f894
Compare
shantanuparab-tr
force-pushed
the
06-15-policy-client-07-examples
branch
from
June 16, 2026 21:51
97abf35 to
88646c1
Compare
shantanuparab-tr
force-pushed
the
06-15-policy-client-06-producer-integration
branch
2 times, most recently
from
June 16, 2026 22:00
06c5043 to
cf403e3
Compare
shantanuparab-tr
force-pushed
the
06-15-policy-client-07-examples
branch
from
June 16, 2026 22:00
88646c1 to
f35f73c
Compare
shantanuparab-tr
force-pushed
the
06-15-policy-client-06-producer-integration
branch
from
July 16, 2026 15:12
cf403e3 to
8df0b25
Compare
shantanuparab-tr
force-pushed
the
06-15-policy-client-07-examples
branch
from
July 16, 2026 15:12
f35f73c to
4a93ee7
Compare
shantanuparab-tr
force-pushed
the
06-15-policy-client-06-producer-integration
branch
from
July 16, 2026 15:41
8df0b25 to
5a6e544
Compare
shantanuparab-tr
added a commit
that referenced
this pull request
Jul 16, 2026
Replace the non-ASCII theta symbol and en-dash range separators with ASCII in the stationary example docs, matching the rest of the stack (Copilot portability comment).
shantanuparab-tr
force-pushed
the
06-15-policy-client-07-examples
branch
from
July 16, 2026 15:41
4a93ee7 to
4deef59
Compare
shantanuparab-tr
force-pushed
the
06-15-policy-client-06-producer-integration
branch
from
July 16, 2026 17:13
5a6e544 to
d54a50d
Compare
shantanuparab-tr
added a commit
that referenced
this pull request
Jul 16, 2026
Replace the non-ASCII theta symbol and en-dash range separators with ASCII in the stationary example docs, matching the rest of the stack (Copilot portability comment).
shantanuparab-tr
force-pushed
the
06-15-policy-client-07-examples
branch
from
July 16, 2026 17:13
4deef59 to
90c3559
Compare
shantanuparab-tr
force-pushed
the
06-15-policy-client-06-producer-integration
branch
from
July 16, 2026 17:27
d54a50d to
4ff0d26
Compare
shantanuparab-tr
added a commit
that referenced
this pull request
Jul 16, 2026
Replace the non-ASCII theta symbol and en-dash range separators with ASCII in the stationary example docs, matching the rest of the stack (Copilot portability comment).
shantanuparab-tr
force-pushed
the
06-15-policy-client-07-examples
branch
from
July 16, 2026 17:27
90c3559 to
40318b7
Compare
shantanuparab-tr
force-pushed
the
06-15-policy-client-06-producer-integration
branch
from
July 17, 2026 00:22
4ff0d26 to
8574895
Compare
shantanuparab-tr
added a commit
that referenced
this pull request
Jul 17, 2026
Replace the non-ASCII theta symbol and en-dash range separators with ASCII in the stationary example docs, matching the rest of the stack (Copilot portability comment).
shantanuparab-tr
force-pushed
the
06-15-policy-client-07-examples
branch
from
July 17, 2026 00:22
3330d81 to
8bf9024
Compare
Two runnable bimanual examples sharing the same 2-follower + 4-camera setup: trossen_stationary_ai_policy (openpi WebSocket, transport openpi_ws) and trossen_stationary_ai_lerobot (LeRobot async_inference, transport lerobot_grpc), with configs, READMEs, and integration notes.
…rate - The first-chunk wait ignored g_stop_requested (arms energized, unresponsive to Ctrl+C for up to 30s) and then started mirroring unconditionally even when no chunk arrived, driving followers off the staged pose via hold-last zeros - the exact jerk the wait was meant to prevent. Honor the stop flag in the wait and only mirror once a real chunk lands; otherwise log and hold the staged pose (PR255-F3). - Delete the dead 3500ms pre-loop sleep and its false comment; staging is a blocking on_pre_episode/stage() move during start_episode (PR255-F2). - Fix the openpi README defaults to match the shipped config (60s / 1 episode / 0.6Hz) (PR255-F1). - Mark the /tmp analysis scripts in the integration notes as ad-hoc and not shipped (PR255-F5).
Replace the non-ASCII theta symbol and en-dash range separators with ASCII in the stationary example docs, matching the rest of the stack (Copilot portability comment).
… readiness Build one shared source into trossen_stationary_ai_openpi and trossen_stationary_ai_lerobot, each defaulting to its own transport config under configs/. Discard and stop the run when no policy client produces an action chunk within the readiness timeout, so a non-responsive policy never records an episode of the followers held at the staged pose. Exit after mgr.shutdown() completes SDK-owned teardown.
shantanuparab-tr
force-pushed
the
06-15-policy-client-06-producer-integration
branch
from
July 17, 2026 14:17
8574895 to
09f8db9
Compare
shantanuparab-tr
force-pushed
the
06-15-policy-client-07-examples
branch
from
July 17, 2026 14:17
8bf9024 to
edd4e38
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Two runnable bimanual examples that exercise the whole stack end-to-end against a live policy server — one per transport family — sharing the same 2-follower + 4-camera setup.
Changes
examples/trossen_stationary_ai_policy/{trossen_stationary_ai_policy.cpp,config.json,README.md,POLICY_INTEGRATION_NOTES.md}: openpi example (transportopenpi_ws, WebSocket) — config, runnable app, and integration notes (server setup, tuning knobs, drain-threshold guidance).examples/trossen_stationary_ai_lerobot/{trossen_stationary_ai_lerobot.cpp,config.json,README.md}: the LeRobot sibling (transportlerobot_grpc,async_inference) — same bimanual setup driven by a LeRobot server, with api05-ready config.examples/CMakeLists.txt: build both example binaries behindTROSSEN_SDK_ENABLE_POLICY_CLIENT.slew_time_s(matching control: per-episode hardware lifecycle driven by SessionManager #248's arm-config rename).Test Plan
-DTROSSEN_SDK_ENABLE_POLICY_CLIENT=ONpre-commit run --all-files)working pi05 config for the live integration)Breaking Changes
None. New examples, gated behind
TROSSEN_SDK_ENABLE_POLICY_CLIENT(default OFF).Related
Based on #248 (example configs depend on its
slew_time_sarm key). Top of the stack over #249–#254.