All projects
Robotics2024 · Royal Holloway · Group project

Bob

A LEGO robot that sorts marbles by colour.

An autonomous LEGO EV3 robot programmed in Java with LeJOS. It reads a marble’s colour, finds the matching container and drops the marble in, with over 90% colour-detection accuracy. I worked on the sensor logic and navigation.

Presentation slide “Bob’s design”: four photos of the LEGO EV3 robot from the front, left side, back and right side.
Bob from four sides, from our presentation.
RoleSensor logic and navigation
TeamGroup project
When2024, Royal Holloway
Built withJava, LeJOS, LEGO EV3
01

Skills it shows

Java on hardware

Programmed in Java with LeJOS, running on the LEGO EV3 brick.

Sensor processing

Colour readings turned into reliable decisions, with over 90% detection accuracy after calibration.

Behaviour-based control

Seven behaviours under one arbitrator, from emergency stop to marble detection, plus explicit states.

Navigation

Finds containers with the distance sensor and drives to the one that matches the colour.

02

Problem, build, result

1Problem

Sort coloured marbles into matching containers with no human help.

2What I built

With the team: a conveyor, a ramp and two sensors. My part was reading colour reliably, finding containers and getting Bob between them.

3Result

An autonomous sorter with over 90% colour-detection accuracy. Adding explicit states stopped behaviours firing out of turn.

>90%colour-detection accuracy
7behaviours, one arbitrator
5states keeping them in order
03

In pictures

Select any image to see it larger.

What Bob does, in four steps.
The behaviours, highest priority first.
The conveyor separates one marble at a time.
The ramp drops it into the container.
04

Tech stack

Tools and data
JavaLeJOSLEGO Mindstorms EV3Colour and distance sensors
Methods
Behaviour-based controlPriority arbitrationFinite-state machineSensor calibration