Welcome to the repository for Buddy_Bot, a cutting-edge project designed to showcase the functionalities of the Robotics Operating System (ROS) in combination with Speech-to-Text services. Buddy_Bot responds to vocal commands and executes various tasks, including movement directives and even drawing geometric shapes.
This project embodies the Publisher-Subscriber and Service paradigms of ROS, and provides a user-friendly interface for you to control your own TurtleBot through simple voice commands!
To get started with Buddy_Bot, you'll first need to clone this repository. You can do this by running:
git clone https://github.com/yourusername/Buddy_Bot.git
cd Buddy_Bot
Ensure that you have ROS and all the necessary dependencies installed. Once you've done that, you can run the Buddy_Bot scripts.
First, run the talkToMe.py script:
python3 talkToMe.py
Next, in a separate terminal, run the speech_to_text_service.py script:
python3 speech_to_text_service.py
Finally, in a third terminal, run the speech_to_text_client.py script:
python3 speech_to_text_client.py
In the Publisher-Subscriber paradigm, talkToMe.py acts as the publisher, broadcasting commands received from your voice input. It publishes to the /turtle1/cmd_vel topic, which the TurtleBot subscribes to, allowing the bot to execute the published commands.
In the Service paradigm, speech_to_text_service.py and speech_to_text_client.py work together to transcribe your voice commands. When a request is made to the speech_to_text service (defined in speech_to_text_client.py), the speech_to_text_service.py script processes the request and returns the transcribed text.
The Buddy_Bot makes use of the Whisper ASR API, a powerful Automatic Speech Recognition system developed by OpenAI. This API has the ability to convert spoken language into written text, making it perfect for a project such as ours where we seek to interpret voice commands.
To make use of Whisper ASR, you'll need to acquire an API key. Store this key safely and do not disclose it publicly. The speech_to_text_service.py
script uses this API key to authenticate with Whisper ASR API and access the transcription service.
Please note: As of the time of writing, the Whisper API is in beta and usage costs may apply. Make sure to check the latest documentation and OpenAI's pricing page to understand the potential costs involved.
Master branch for "turtlesim" & real_turtle_bot branch for controlling burger turtle bot with voice commands
MIT © Jamshid Ganiev