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
rclpy
to 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_bot
colcon build
source install/setup.bash
Dockerhub : https://hub.docker.com/repository/docker/wakifrajin/voice_assist_bot
docker pull wakifrajin/voice_assist_bot
docker 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.