This project integrates a voice bot with a navigation system for a museum robot tour guide using MQTT for communication.
- Voice Bot: Natural language interface that allows users to select exhibits to visit
- Navigation System: Handles the robot's movement to selected exhibits
- Main System: Coordinates between the voice bot and navigation components
The simplest way to run this system is using Docker:
- Docker
- Docker Compose
- OpenAI API key for the voice bot
-
Clone this repository
-
Create a
.envfile in the project root with your OpenAI API key:OPENAI_API_KEY=your_openai_api_key_here -
Build and start the Docker container:
docker-compose up --build
For development, you might want to run components separately:
-
Start the MQTT broker:
mosquitto -d
-
Run the main system:
python main.py
-
Run the voice bot:
python nlp_voice_bot/voicebot.py
If you prefer not to use Docker:
-
Install dependencies:
- Python 3.9+
- Mosquitto MQTT broker
- FFmpeg
- Required Python packages:
pip install -r requirements.txt
-
Create a
.envfile with your OpenAI API key -
Make the startup script executable:
chmod +x start_museum_system.sh
-
Run the system:
./start_museum_system.sh
- Voice bot sends exhibit selections to the "movement" topic
- Main system receives these selections and passes them to the navigation system
- When navigation is complete, main system sends a confirmation on the "arrived" topic
- Voice bot receives the confirmation and continues the tour