Skip to content

Project Idea: Add support for hardware semantic components #2140

Open
@christophfroehlich

Description

@christophfroehlich

The ros2_control framework relies on simple command and state interfaces in the form of double values to exchange data between hardware components and controllers. It is desired however to provide good C++ data structures both on the hardware component and the controller side which improves code readability and maintainability.

Earlier in the project, the concept of semantic components were introduced which essentially provides a grouping for these values and a semantic-specific API to use them. For instance, an IMU sensor will typically report 9 values, 3 values for each axis of the accelerometer, gyroscope and compass sensor parts respectively. Such values can be grouped and served through an API as a ROS IMU message or as a C++ struct for both input and output of these values while the ros2_control framework maintains it's low-profile communication interfaces internally.

The goal of this project is to add semantic components that are relevant for hardware components.
Additionally, this project includes extending the existing simulation tools with a set of common semantic components to support different sensors and actuators.

Related design document and code implementations:


| Skills required/preferred:

  • Good C++ skills
  • Basic understanding of ROS and/or ROS 2
  • Basic understanding of the Gazebo simulator

| Possible mentors: Bence Magyar, Denis Štogl
| Expected size of project: 175 hours
| Difficulty: medium

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