Skip to content

Extract teleop ROS publication builders#779

Open
sgrizan-nv wants to merge 1 commit into
mainfrom
sgrizan/branch1
Open

Extract teleop ROS publication builders#779
sgrizan-nv wants to merge 1 commit into
mainfrom
sgrizan/branch1

Conversation

@sgrizan-nv

@sgrizan-nv sgrizan-nv commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

Description

Move root-command, msgpack, and TF construction out of TeleopRos2Node so publisher methods only perform ROS side effects.

Summary by CodeRabbit

  • New Features

    • Improved ROS 2 teleoperation publishing for controller, full-body, head, hand, and root-command data.
    • Added coordinated publication of pose messages and related transforms.
    • Added support for encoded controller and full-body message payloads.
    • Root commands now publish both movement and height information.
  • Tests

    • Expanded coverage for message formats, transforms, absent inputs, and combined hand/controller outputs.
  • Documentation

    • Added guidance for structuring ROS publisher methods and output mapping logic.

Move root-command, msgpack, and TF construction out of TeleopRos2Node so publisher methods only perform ROS side effects.
@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 6fc7bd2e-024c-4147-aacc-4101113f3acc

📥 Commits

Reviewing files that changed from the base of the PR and between cb95bce and f9d1d24.

📒 Files selected for processing (4)
  • examples/teleop_ros2/AGENTS.md
  • examples/teleop_ros2/python/messages.py
  • examples/teleop_ros2/python/teleop_ros2_node.py
  • examples/teleop_ros2/python/tests/test_messages.py

📝 Walkthrough

Walkthrough

The teleop ROS2 message layer now provides builders that return ROS-native outputs, including msgpack-encoded ByteMultiArray messages, pose/TF pairs, wrist transforms, and root-command message pairs. The ROS2 node delegates construction and validation to these builders before publishing. Tests were updated with new tensor fixtures and coverage for schemas, absent inputs, combined hand data, transform consistency, and root-command mappings. Source-layout guidance documents the centralized builder pattern.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant TeleopROS2Node
  participant messages
  participant ROS2Topics
  TeleopROS2Node->>messages: build controller, EE, body, head, or root outputs
  messages-->>TeleopROS2Node: return ROS messages and transforms
  TeleopROS2Node->>ROS2Topics: publish returned outputs
Loading

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 16.28% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: extracting teleop ROS publication-building logic into helpers.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch sgrizan/branch1

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: TBD

Development

Successfully merging this pull request may close these issues.

1 participant