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

RAI ROS 2 Namespaces #258

Open
maciejmajek opened this issue Sep 30, 2024 · 0 comments
Open

RAI ROS 2 Namespaces #258

maciejmajek opened this issue Sep 30, 2024 · 0 comments
Labels

Comments

@maciejmajek
Copy link
Member

Is your feature request related to a problem? Please describe.
The current namespace structure for RAI nodes and topics lacks consistency and clarity. This can lead to potential conflicts, unexpected behaviors, and difficulties in managing the system as it grows. Specifically:

  1. Some topics, like perform_task (Internal rai ros2 interfaces are visible to RaiNode #235), are visible to nodes that shouldn't have access to them, which can lead to unexpected behaviors.
  2. There's no clear separation between RAI-specific topics/services and robot-specific interfaces.
  3. The current structure may not scale well as more features and nodes are added to the system.

Describe the solution you'd like
Implement a well-structured and consistent namespace hierarchy for all RAI nodes, topics, services, and actions. The proposed structure could be:

  1. Use /rai as the top-level namespace for all RAI-specific components.
  2. Create sub-namespaces for different functional areas:
    • /rai/hmi for Human-Machine Interface components
    • /rai/perception for perception-related nodes (e.g., WhatISee)
    • /rai/core for core RAI functionality
    • /rai/tools for various tools and utilities

Use clear and descriptive names for topics, services, and actions within these namespaces.
Keep robot-specific interfaces outside the /rai namespace to maintain a clear separation.

Describe alternatives you've considered

  • Using a flat namespace structure with longer, more descriptive names. This was rejected as it doesn't provide clear hierarchical organization.
  • Creating separate namespaces for each RAI node. This was considered too granular and could lead to overly complex topic names.

Additional context
This namespace restructuring should be implemented across all RAI packages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant