Voice Assisted TurtleBot3 is a ROS2-based project that enables controlling a TurtleBot3 in Gazebo simulation using voice commands. The robot responds to spoken commands for movement and energy management, making it a unique interactive experience.
- 🎙️ Voice-Controlled Navigation: Move the robot using voice commands like "forward", "left", "right".
- 🔋 Energy Management System: The robot consumes energy while moving and can replenish energy using specific voice triggers like "heal" or "kaboom".
- 📡 Real-time ROS2 Communication: Uses
rclpyto process commands and send movement instructions to/cmd_vel. - 🐳 Dockerized Deployment: The entire project can be built and run inside a Docker container.
📂 voice_assist_bot
├── 📂 src/ # ROS2 package source code
├── 📄 Dockerfile # Dockerfile for containerization
├── 📄 requirements.txt # Python dependencies
├── 📄 README.md # Project documentation
├── 📄 setup.py # ROS2 package setup
git clone https://github.com/YOUR_USERNAME/voice_assist_bot.git
cd voice_assist_botcolcon build
source install/setup.bashDockerhub : https://hub.docker.com/repository/docker/wakifrajin/voice_assist_bot
docker pull wakifrajin/voice_assist_botdocker run --device /dev/snd:/dev/snd -it wakifrajin/voice_assist_bot- Source the package
or, if you use .zsh
cd ~/ros2_2025 source install/setup.bash
cd ~/ros2_2025 source install/setup.zsh
- Startup gazebo turtlebot3
export TURTLEBOT3_MODEL=burger # or waffle ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
- Run the launch file to run speaker and control nodes
ros2 launch voice_assist_bot voice_assist_launch.py
| Command | Action |
|---|---|
| "forward" | Moves forward for 2 seconds |
| "forward 5s" | Moves forward for 5 seconds |
| "left" | Rotates left |
| "right" | Rotates right |
| "heal" / "kaboom" | Increases energy |
Pull requests are welcome! Feel free to open an issue if you have any questions or suggestions.
This project is licensed under the MIT License. See LICENSE for details.