An autonomous indoor service robot built using ROS2 Humble for café and restaurant environments. The robot can autonomously navigate between predefined locations, deliver orders, and return to its home position using the ROS2 Navigation Stack.
- Autonomous indoor navigation
- SLAM-based map generation
- AMCL localization
- Nav2 path planning
- Waypoint-based navigation
- Web dashboard for robot control
- Gazebo Classic simulation
- RViz visualization
- Differential drive mobile robot
cafe_ws/
└── src/
└── cafe/
├── cafe_bringup/
├── cafe_description/
├── cafe_gazebo/
├── cafe_navigation/
├── cafe_butler/
├── start.sh
├── kill.sh
└── fix_and_build.sh
Contains
- Robot URDF
- Meshes
- Gazebo models
- RViz configurations
- Simulation worlds
Launches
- Gazebo
- Robot State Publisher
- Navigation2
- AMCL
- RViz
Contains
- Navigation parameters
- SLAM parameters
- Maps
Contains
- Butler State Machine
- Dashboard
- Waypoint Recorder
- Order CLI
Ubuntu 22.04
ROS2 Humble
Gazebo Classic 11
Navigation2
SLAM Toolbox
RViz2
Python3
cd ~/cafe_ws
colcon build --symlink-install
source install/setup.bashcd ~/cafe_ws/src/cafe
./start.shcd ~/cafe_ws/src/cafe
./kill.shros2 launch cafe_bringup slam_bringup.launch.pySave map
ros2 launch cafe_bringup save_map.launch.pyros2 launch cafe_bringup navigation_bringup.launch.pyhttp://localhost:5000
Default Login
Username : admin
Password : butler
- Navigate to customer tables
- Return to home
- Multi-waypoint delivery
- Obstacle avoidance
- Autonomous localization
- Path planning
- Web-based control interface
- ROS2 Humble
- Navigation2
- SLAM Toolbox
- Gazebo Classic
- RViz2
- Python
- URDF
- YAML
- XML
- Flask
- Voice Assistant
- QR Table Detection
- Multi-Robot Coordination
- Kitchen Integration
- AI-based Order Management
- Dynamic Obstacle Avoidance
Apache 2.0