Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: ROS2 High level generic API #360

Closed
wants to merge 14 commits into from
Closed

Conversation

maciejmajek
Copy link
Member

@maciejmajek maciejmajek commented Jan 9, 2025

Important

This PR has been repurposed from introducing standard connector to providing High level generic ROS 2 API

Purpose

This PR aims to provide a unified ROS2 High level API for general use across the framework.

Proposed changes

TBD

Details

Purpose

At the moment, there is little to no actual SDK in RAI. This PR is one of many upcoming changes aimed at introducing a new BaseAgent and BaseConnector architecture. These changes are designed to make RAI easily extendable across various environments, based on specific needs.

Proposed Changes

  • ROS2Connector
    A connector closely aligned with the ROS 2 architecture. It serves as a lightweight layer between RAI and ROS 2, enabling the integration of additional connectors while maintaining a unified input-output architecture.

- HTTPConnector
A simple connector demonstrating how easily data can be published to external destinations (e.g., web interfaces, displays, etc.).

Testing

TBD

TODO:

  • action handling
  • service handling
  • send message
  • receive message
  • parameters

Copy link
Contributor

@rachwalk rachwalk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for doing this, the ROS connector will provide a lot of valuable functionality. I left a few comments regarding configurability and tests. The most importand change requested is adding the cleanup function to the base class, I think it would be very valuable to have all connectors provide an explicit cleanup.

src/rai/rai/communication/ros_connector.py Outdated Show resolved Hide resolved
src/rai/rai/communication/ros_connector.py Outdated Show resolved Hide resolved
src/rai/rai/communication/ros_connector.py Outdated Show resolved Hide resolved
src/rai/rai/communication/ros_connector.py Outdated Show resolved Hide resolved
tests/communication/test_ros_connector.py Outdated Show resolved Hide resolved
rachwalk

This comment was marked as outdated.

@maciejmajek

This comment was marked as outdated.

@boczekbartek boczekbartek mentioned this pull request Jan 14, 2025
2 tasks
@maciejmajek maciejmajek changed the title feat: standard connectors [WIP] feat: ROS2 High level generic API Jan 14, 2025
@maciejmajek maciejmajek marked this pull request as draft January 14, 2025 21:58
@maciejmajek
Copy link
Member Author

Closed in favor of #367

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.

3 participants