Skip to content

[Task] Display: Define ROS 2 Interfaces for User Commands #238

Description

@JayH7C3

Feature Description

Define and implement the ROS 2 interfaces used by the display to communicate user commands to the robot.

The display provides user interaction through buttons such as Start, Confirm, and Cancel. For each interaction, the appropriate ROS 2 communication mechanism (topic, service, or action) must be selected and connected to the corresponding subsystem.

The goal is to establish a well-defined interface between the user interface and the robot's software architecture while providing immediate visual feedback to the user.

Definition of Completion

Main functions

  • Defines all user commands available through the display
  • Determines the appropriate ROS 2 communication mechanism for each command
  • Implements the required publishers, service clients, or action clients
  • Connects all UI buttons to their corresponding ROS 2 interfaces
  • Provides visual feedback after a command has been sent
  • Prevents invalid or duplicate user commands
  • Handles unavailable communication interfaces gracefully

Display ROS 2 interfaces

  • Publish user commands to the corresponding ROS 2 interfaces
  • Receive feedback where required
  • Handle communication failures without blocking the UI

Testability

  • All buttons trigger the intended ROS 2 communication
  • Commands are received by the intended subsystem
  • Invalid commands are rejected appropriately
  • Communication failures are handled without crashing the UI
  • The user receives visual feedback after each interaction

Code Dependencies

Display / UI package
Global Decision Making Node #10

Specification Dependencies

Display Information #205

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

HRIAffects the Large Language Model Module of the system.global decision makingThis affects the head coordination of the robot system.

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions