Skip to content

Project Idea: Hardware Diagnostics Support for ros2_control #2141

Open
@christophfroehlich

Description

@christophfroehlich
  • Prerequisites: git and Github
  • Necessary programming skills: strong C++, ROS 2
  • Difficulty level: Medium/Hard
  • Potential mentors: Bence Magyar, Sai Kishor
  • Expected size: 175 hours to 350 hours
  • Expected outcome: Reporting capabilities are available for hardware components with minimal code changes

Detailed description

The ros2_control framework uses a plugin-based system to support multiple hardware drivers at the same time. It takes care of resource constraints between different controllers and hardware components, asynchronous operation of controllers, etc. As of now, controller_manager publishes the diagnostics of itself, and for controllers and hardware components about their lifecycle state and operational statistics such as their periodicity and their execution time. However, A current limitation of the framework is that hardware components, e.g. the ros2_control hardware driver plugin for a given robot, doesn't have a good API for reporting the diagnostics of its own hardware, for instance, the state of the CAN Bus, some internal motor control board stats like temperature, error codes etc. This integration would make the ros2_control, provide complete diagnostics within its ecosystem. This project focuses on setting up an API that hardware manufacturers & driver maintainers can use to report things with minimal code changes to their existing setups.

Goals

  • Modify the Hardware Interfaces to fetch the hardware diagnostics.
  • Possible unification of three hardware interfaces into a single one.
  • Add tests to test the integration.
  • Add Documentation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    persistentIssue won't get marked as stale

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions