ROS2 Chat
A wrapper ROS2 node for ros_llm, ros_stt and ros_tts to simplify the chat pipeline.
The chat node in this solution includes a /chat
ROS2 service that accepts audio data and returns a generated audio response with extra metadata.
This documentation provides all the information you need to get started with ros_chat
, from setting up your environment to using the service and contributing to the project.
---
config:
theme: redux
look: neo
---
flowchart TB
subgraph s1["Server"]
direction TB
n11["Chat Node"]
subgraph s11["Whisper STT"]
direction TB
n112["STT Node"] <-- HTTP --> n111["whisper.cpp"]
end
subgraph s12["Gemma 3 12b"]
direction TB
n122["LLM Node"] <-- HTTP --> n121["llama.cpp"]
end
subgraph s13["Orpheus TTS"]
direction TB
n132["TTS Node"] <-- HTTP --> n131["llama-swap"]
end
n11 -- ROS2 --> n112
n11 -- ROS2 --> n122
n11 -- ROS2 --> n132
end
subgraph s21["Robot"]
direction TB
n21["UI Com"] <-- WebSocket --> n22["Emotion"]
end
n11 <-- "ROS2" --> n21
Requirements
Contributing
We welcome contributions to this project! Please see the contributing guidelines at contributing.md
in the root of this repository for more information on how to get started.