The automation of repetitive household chores represents a natural evolution in robotics. Dishwashing, one of the most monotonous domestic tasks, demands precision, consistency, and adaptability, qualities that industrial robotic arms are well suited to replicate. This project harnesses the ABB IRB 120, a compact yet highly capable 6-DOF industrial manipulator, to simulate an intelligent plate-cleaning system entirely within a virtual MATLAB environment.
Unlike conventional dishwashers that rely on pressurized water jets, this robotic system applies targeted motion intelligence mimicking the deliberate, circular scrubbing patterns of human dishwashing. Using numerical inverse kinematics and a Proportional-Derivative (PD) controller, the arm computes precise joint configurations for every point along a spiral cleaning trajectory, ensuring complete surface coverage of each plate. Plates are placed at random positions within a safety-bounded workspace, and the robot navigates between them using smooth cubic polynomial transition paths.
The entire simulation was developed and validated using MATLAB Live Script, which combines executable code, real-time 3D visualizations, and analytical derivations in a single interactive document. The system successfully demonstrated collision-free multi-plate cleaning in simulation laying the groundwork for a future physical deployment.
The plate cleaning robot is designed to perform precise dishwashing tasks using an ABB IRB 120 robotic arm. The system relies on numerical inverse kinematics, a Proportional Derivative (PD) controller, spiral trajectory generation, and smooth transition planning between plates. Here's how it all comes together. Techniques used in this implementation: 1. Workspace Definition and Plate Position Generation 2. Inverse Kinematics and Control 3. Spiral Cleaning Trajectory 4. PD Controller for Joint Motion 5. Transition Trajectory Between Plates
Each plate is cleaned using an outward Archimedean spiral starting at the plate center and expanding to a maximum radius of 145 mm over three complete turns. This mirrors the natural human motion of scrubbing outward from the centre of a plate.
The 55 trajectory waypoints are evenly distributed across the angular sweep, ensuring uniform coverage. The z-height is maintained at 50 mm above the plate surface throughout the cleaning pass. Between plates, a cubic polynomial trajectory provides a smooth, jerk-minimized transition arc that lifts the arm safely above the workspace plane before descending to the next plate centre.
The pipeline begins with the workspace setup: plate positions are randomly generated within a defined rectangular boundary, with a minimum separation constraint of 280 mm ensuring no overlaps, and a base-exclusion radius of 250 mm preventing the arm from colliding with its own mount.
For each plate, a 55-point spiral trajectory is computed in Cartesian space. These waypoints are fed into a numerical inverse kinematics solver, which resolves the 6 joint angles of the ABB IRB 120 at each step. A PD controller with proportional gain Kp = 20 and derivative gain Kd = 0.1 which then drives each joint smoothly toward its target angle with a timestep of 10 ms.
After completing each spiral pass, the shortest Euclidean distance to the next unvisited plate is computed, and a cubic polynomial trajectory arcs the end-effector safely through the air before beginning the next cleaning sequence.