Skip to content

(Hacky version do not use) Add PVAT streaming DoCommand#218

Draft
EshaMaharishi wants to merge 1 commit into
mainfrom
pvat-streaming-do-command
Draft

(Hacky version do not use) Add PVAT streaming DoCommand#218
EshaMaharishi wants to merge 1 commit into
mainfrom
pvat-streaming-do-command

Conversation

@EshaMaharishi

Copy link
Copy Markdown

No description provided.

Externally-generated trajex PVATs can now be streamed to the arm without
the controller re-planning: open one long-lived trajectory and feed spline
points into it incrementally, terminating with a CANCEL.

- streaming_trajectory: a third move_command_data alternative holding the
  declared point budget and a pending deque of spline points.
- state_ open/push/close_pvat_stream: open grabs the move slot with a
  streaming command; push appends points (do_command thread); close requests
  the terminating CANCEL. pending is pushed/drained under mutex_.
- state_controlled_::handle_move_request streaming_trajectory branch: write
  TRAJECTORY_START once, then writeTrajectorySplinePoint per pending point
  each worker tick WITHOUT re-issuing START (a second START would kill and
  restart the robot-side trajectory thread), then CANCEL on close or Stop().
- do_command keys trajex_stream_open / _points / _close, with parse_pva_points
  decoding [p0..5, v0..5, a0..5, dt] points (radians; dt = per-segment seconds).
- is_moving reports true while a stream is open.

Builds clean via conan on macOS arm64 (bin/setup.sh + bin/build.sh).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant