Skip to content

feat: use canonical CDR for keyboard teleop commands - #4703

Closed
TomCC7 wants to merge 1 commit into
cc/feat/cdr-manipulator-task-boundariesfrom
cc/feat/cdr-keyboard-teleop
Closed

TomCC7 wants to merge 1 commit into
cc/feat/cdr-manipulator-task-boundariesfrom
cc/feat/cdr-keyboard-teleop

Conversation

@TomCC7

@TomCC7 TomCC7 commented Oct 20, 2026

Copy link
Copy Markdown
Member

Keyboard teleoperation now publishes generated CDR TwistStamped/Float32 values matching the manipulator coordinator inputs. Key mapping, speed scales, immediate zero on final motion-key release and normalized gripper command deduplication remain unchanged. New command headers use integer wall-clock nanoseconds.

Parent: #4702. Message Encoding Refactor

Changes Files Added Removed
Canonical output construction 1 6 3
Existing behavior and local wire acceptance 1 65 9
Installed-wheel CI 1 5 0

Manual offline acceptance (headless, no pygame window or robot):

DIMOS_TRANSPORT=lcm LCM_DEFAULT_URL=memq:// uv run pytest --noconftest --import-mode=importlib -o addopts='' -q dimos/teleop/keyboard/test_keyboard_teleop_module.py

Synthetic pygame key events exercise the actual publisher. Real LCM memq and discovery-disabled loopback Zenoh deliver a generated velocity, key-release zero and gripper opening; the timestamp retains epoch + 1ns. All previous key mapping and deduplication assertions remain.

Validation: 10 source + 10 installed-wheel tests, one production file strict typing, scoped configured hooks passed except unavailable Nix lint. Wheel SHA256: 9daa0130a6f5b7ae71d46fb04cccfaf901fac8f58b80961385f0be99b1c9046c.

No interactive display, physical control, hardware, package publication or CI polling. Hosted teleop/recording/simulation boundaries and final legacy dependency retirement remain separate work.

@TomCC7 TomCC7 closed this Oct 20, 2026
@TomCC7
TomCC7 deleted the cc/feat/cdr-keyboard-teleop branch October 20, 2026 18:12
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