Inspiration

The second law of hackathons state that the disorder of one's workbench tends to a maximum. Having participated in previous hackathons ourselves, we wholeheartedly agree, and thus in Bath hack 2026, we aimed to remedy this problem. Much like Sisyphus, poor Sulis - the godess of Bath - is stuck in an eternal quest to keep the workbench as tidy as possible.

What it does

It uses AI computer vision to detect tools you have left out. Using a gantry above the back of your desk, the robotic arm traverses to the offending item for collection using a compliant gripper. It also can act as a general assistant for your engineering tasks: fetching tools, acting as a helping hand, perhaps even performing simple assembly tasks. It is designed to be able to reach up and access storage drawers, shelves and pegboards on the wall, as well as forwards across your entire desk, thanks to the combined arm and gantry design.

How we built it

Hardware: Brutally cannibalised from the remains of a defunct Ender 3 printer, the gantry system uses extrusions, belt drives and stepper motors for the x and y axes. Consider it a fun way to upcycle these cheap outdated machines. This is controlled by an Arduino Uno with the CNC shield running GRBL v1.1. The arm, comprising of three M966R metal gear servos with custom 3D printed joints, is controlled by a PCA9685 servo board. An existing TPU compliant gripper design was 3D printed, fitted with a Sg90 servo motor and used as the end effector. Both are controlled from custom ROS2 nodes on a Raspberry Pi 5. There is a Pi camera on the gripper and looking down at the workbench to identify clutter, and a GUI showing camera feeds, a gantry control panel and the detected objects.

Software: We trained two YOLO V8 model on different datasets, one to detect tools, the other to detect electronics. These models run in parallel on the laptop, through a python script that also computes and plots the location of each detected object. Our front end is built using 'pyOpenGL' and 'Dear imgui' and allows switching between manual control mode and autonomous detection and tracking mode. Another script listens for voice commands from the user to move to any target position, or to move to the position of a tool.

Challenges we ran into

Setting up the axes correctly on the CNC shield and with GRBL was challenging. The arm also took a long time to assemble due to the printing, so we did not get time to solve inverse kinematics. Also had issues with faulty cameras and general struggles of getting ROS packages working.

Accomplishments that we're proud of

It moves! It grips (ish)! It detects pliers! It moves towards them!

What we learned

Robot arms are hard. ROS2 is a pain. GRBL is awful. Servos are borderline useless. Teamwork is really benifical to producing awsome results!

What's next for Sulis: The Omniscient Autonomous Workbench Assistant

Finishing inverse kinematics, running the AI model locally on the Pi, implementing voice control, camera lens calibration.

Built With

Share this project:

Updates