This document describes the topics and services exposed/consumed by the perception server and how they map to the plugin drivers.
Fields:
std_msgs/Header headerint16[] samplesint32 sample_rateint32 channelsint32 chunk_sizeint32 chunk_countbool override
Usage notes:
samplesare signed 16-bit PCM.- The server publishes this message when
interface.audio_input.publishis enabled. - The server can also subscribe to audio output and forward it into the speaker driver.
Fields:
std_msgs/Header headerstring textstring voicestring instructions
Usage notes:
- Used as the input to the speech synthesis service.
voice/instructionsare optional; drivers may apply defaults.
Request:
PerceptionAudio audiobool use_device_audioint32 audio_request_window
Response:
std_msgs/Header headerstring transcriptionbool success
The server uses use_device_audio to decide whether to use its internal microphone buffer or the request-provided audio.
When use_device_audio=true, audio_request_window controls how many seconds of audio the server collects from its public ring buffer.
Request:
PerceptionText inputbool use_device_audio
Response:
bool successPerceptionAudio audio
When use_device_audio is true, the server routes the synthesized audio to the speaker driver instead of returning it.
Request:
std_msgs/Header headerstring textbool use_device_audioint32 audio_request_window
Response:
string labelfloat64 scorestring analyzed_text
When use_device_audio is true, the server transcribes its microphone buffer first and then runs sentiment analysis on the transcribed text.
Request:
std_msgs/Header headersensor_msgs/Image imagestring promptbool use_device_vision
Response:
string response
When use_device_vision is true, the server pulls the latest frame from the configured vision driver instead of using the request-provided image.