Starbots Coffee Dispenser Project

The final outcome of my work in The Construct’s Robotics Masterclass, featuring an advanced robotics application that demonstrates refined Pick-and-Place capabilities with the UR3e robotic arm. The Starbots Coffee Dispenser system is designed to automate a crucial step in robotic coffee service - transferring coffee cups from a counter to the delivery robot’s tray.

The project has two implementations:

Both implementations share core functionalities but are specifically tuned for their respective environments, ensuring optimal performance whether in simulation or real-world operation.

The project is structured into multiple ROS2 packages, each handling specific aspects of the automation:

Motion Planning & Control

Utilized MoveIt2 C++ API for:

Perception Pipeline

Implemented a python object detection system using D415 RGB-D camera’s color and depth images. After the conversion from images to pointcloud, the perception system includes two separate detection pipelines for identifying the cup holders on the delivery robot’s tray:

After running both pipelines, a sensor fusion step combines their outputs. The image-based detections are projected into 3D, matched with the pointcloud detections, and then merged using a weighted average to generate a more stable and accurate 3D pose for each cup holder.

Additional perception features include:

Task Management

Employed a behavior tree architecture to oversee the complete task sequence. The BT structure organizes the logic into modular, reusable nodes that manage both high-level decision making and low-level robot actions:

Visualization & Monitoring Tools

Used Foxglove throughout the project to monitor system behavior, visualize data streams, and interact(service calls only) with the robot during both simulation and real-world execution.

Foxglove provided a unified interface for inspecting the entire system — perception, motion planning, and task execution — assisting greatly in tuning parameters, debugging failures, and validating final robot behavior.

System Overview

System

Real Robot Demo

Final demo

Simulation Demo

Final Gazebo demo