Closed
Description
Is your feature request related to a problem? Please describe.
Currently, communication of the task between RAI and HMI has some limitations:
- it goes in 1 direction (HMI -> RAI)
- is based on the ros2 topic -> no task start ack
- The robot can't return task status, ask for task details or
Describe the solution you'd like
Implementation would solve the issues above by implementing 2 ros2 actions:
- Task action:
- HMI submits tasks to the robotic agent (~RAI agent) using
ros2 action
. - RAI agent accepts the task, frequently sends task feedback, and share the result at the end
- HMI submits tasks to the robotic agent (~RAI agent) using
- Task feedback action: (probably better name needed)
- RAI agent while executing the task can ask the HMI agent for more information about the task using another
ros2 action
- RAI agent while executing the task can ask the HMI agent for more information about the task using another
Describe alternatives you've considered
- ros2 service, but decided to use actions since we need feedback and the response can take long. For tasks - execution might be long. For feedback - the agent might be in the middle of a conversation.
Additional context
- HMI part is started by @maciejmajek in refactor: HMI Node #143 and described in Refactor Human-Machine-Interface #142
- design heavily contributed by @maciejmajek