# VoiceCommand.msg — Parsed voice command with NLU intent, entities, and confidence. # Published by voice_command_node on /social/voice_command (Issue #137). # # Intent namespace: # nav.* — navigation commands # social.* — social / enrollment commands # system.* — robot system control # config.* — behavior configuration # confirm.* — confirmation flow responses (yes / no) # fallback — unrecognized; route to LLM conversation engine std_msgs/Header header string intent # e.g. "nav.go_to", "social.remember_me", "fallback" string raw_text # Normalized transcribed text (lowercased, punctuation stripped) string speaker_id # Who issued the command (from SpeechTranscript.speaker_id) float32 confidence # NLU match confidence 0..1 # Entities: key=value pairs, e.g. ["location=kitchen", "mode=shadow", "name=Alice"] # Parse with: dict(e.split("=", 1) for e in entities) string[] entities # Confirmation flow (for dangerous commands: system.shutdown, system.restart, social.forget_me) bool requires_confirmation # true = awaiting confirm.yes before execution string confirmation_token # UUID matching this command to its confirmation response