Skip to content

Implement ROS 2 Node for Locomotion-to-Odrive Communication #18

@Macbull

Description

@Macbull

Overview

Develop a ROS 2 node that acts as an interface between a locomotion algorithm (e.g., champ) and ODrive motor controllers.

Requirements

  • Accepts input from the locomotion algorithm:
    • 12 joint angles, velocities, or torques.
  • Sends these commands to ODrive nodes for actuation.
  • Receives encoder positions from ODrive controllers.
  • Sends encoder data back to the locomotion algorithm.
  • Exposes ROS 2 services:
    • Arm/Disarm motors
    • Calibrate ODrives
  • Publishes diagnostics topics related to ODrive status and node health.

Notes

  • Ensure compatibility with common locomotion stacks like champ.
  • Diagnostics should include error states, connection status, and calibration status.
  • Structure the node for extensibility to support additional services or diagnostics in the future.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions