Vision-Assisted Cartesian Robotic System for 3D Block Construction

dc.contributor.authorAhmed Taher Gharib
dc.contributor.authorMohie Aldeen Amjad Halawa
dc.contributor.authorKhalil Mahmoud Qanabita
dc.date.accessioned2026-10-11T11:33:32Z
dc.date.issued2026-09-09
dc.description--
dc.description.abstractSmall-scale automated assembly is one of those problems that looks solved from a distance and stops looking solved the moment a real machine has to do it. A gantry that moves to a coordinate is straightforward. A machine that takes a structure a person designed, feeds itself one part at a time, picks each part up, turns it the right way round, stacks it on top of the parts already placed, and knows at every moment whether that actually happened, is a different problem, and most of the difference is feedback rather than motion. This is where our project comes in: a vision-assisted Cartesian robotic cell that builds three-dimensional structures out of 2.2 x 6.0 x 1.5 cm wooden blocks with no human placing a single block by hand. The system is built around three controllers and one brain. A Raspberry Pi 5 is the sole master: it runs the camera, the web server, the orchestration and every safety rule. An Arduino MEGA 2560 runs the gantry, a CoreXY X/Y stage with an added Z axis, a servo claw and a 28BYJ-48 rotation stepper, and executes a fourteen-phase pick-place-park cycle for every block. An Arduino Uno runs a separate feeder module, a two-stage hopper gate, a belt and an alignment servo, and confirms with two HC-SR04 ultrasonic sensors that exactly one block left the hopper and arrived at the fixed pickup point. The two Arduinos never talk to each other; the Pi is the only thing that couples them, and it does so over two independent USB serial links. The block can be laid either way round, which is why the machine carries two separately calibrated grids and not one: a vertical grid of 7 x 6 addressable cells and a horizontal grid of 3 x 10, sharing one 22.8 x 38.0 cm holder-travel envelope and one feeder cell at [0,0]. An overhead 160-degree fisheye camera watches the build surface through a colour-corrected, lens-corrected pipeline, detects the wooden blocks by warm-colour segmentation, and maps camera pixels to physical centimetres to grid cells through a saved workspace homography. The operator side is a browser application served from the Pi: a click-to-build console over the live camera image, and a 3D Build Studio in which a person designs a structure, gets immediate physics feedback on support, collisions and toppling, compiles the design into an ordered program of B col row level commands separated by grid-mode latches, and runs it while a live digital twin mirrors the real build from the firmware's own phase telemetry. The completed system placed blocks on hardware with a measured cycle time of 19.8 to 32.2 seconds per block, with the fixed phases of the cycle repeating to within 0.01 s across sixteen logged placements, and stacked a five-level tower on a single cell. The software is covered by 492 browser tests and 68 Python protocol tests. The work demonstrates that the useful engineering in a machine like this is not the kinematics: it is the discipline of never letting one part of the system assume what another part has actually done
dc.description.sponsorship--
dc.description.statementofresponsibilityThis project targets one specific problem: building a human-designed three-dimensional block structure, exactly as designed, with no human placing a single block by hand, and with sensor or vision confirmation at every stage instead of open-loop timing. The problem appears the moment the machine has to run unattended for more than one operation. Stacking is sequential and unforgiving: each placement is the foundation of the next, so an error is not an isolated bad block, it is a wrong structure from that point upward. A timing-based machine cannot tell the difference between a successful and a failed operation, so it cannot stop; it carries on and turns one silent failure into a pile. As a result, everything downstream of a wrong placement is wasted, and worse, a machine that continues after an unknown outcome is a machine driving a gripper into a stack whose real height it does not know.
dc.description.tableofcontentsThis work was done to build a complete, self-feeding robotic cell that constructs a human-designed 3D block structure end to end, and to make every stage of that construction confirmed by a sensor or by the camera rather than by a timer. The main objectives of this project are: 1. Provide a Cartesian gantry that reaches every cell of a calibrated build grid and places a block on any addressable cell, at any stack level, within the machine's own travel envelope. Target: all 41 buildable cells of the vertical grid and all 29 of the horizontal grid reachable, at levels 0 to 16. 2. Enable both block orientations, so a structure can mix blocks standing and lying, by turning the claw 90 degrees between the pickup and the placement and carrying a second, separately calibrated grid for the rotated footprint. 3. Deliver a feeder module that doses exactly one block at a time from a hopper to a fixed pickup point, and that confirms the block both leaving the container and arriving at the pickup point with independent ultrasonic sensors, so that no placement is ever started on an assumption that a block is there. 4. Support an overhead vision system that detects the wooden blocks on the build surface and converts camera pixels into physical centimetres and then into grid cells, so the camera can be used both to calibrate the machine's grid and to verify what actually landed. Target: detect every block on a full board and map a cell to within half a block footprint. 5. Provide browser-based operation from a phone or tablet on the local network: a live camera view, click-to-build on the image, and an explicit two-tap confirmation before anything moves, so that the machine can be driven without a keyboard next to it. 6. Deliver a 3D design environment in which a person builds the target structure, gets immediate feedback on support, collision and toppling, and compiles the design into an ordered, deterministic command program that the rig then executes block by block. 7. Enforce a safety model in which exactly one command runs at a time, never queued; in which a failure that leaves the machine's physical state unknown locks the session and requires a person; and in which no software layer is allowed to retry an operation whose physical outcome it cannot prove. 8. Achieve a repeatable cycle time per block. Target: under 45 seconds per block, including feeding, for a machine of this size and step rate.
dc.identifier.citation--
dc.identifier.other12219691
dc.identifier.urihttps://hdl.handle.net/20.500.11888/21437
dc.language.isoen
dc.publisherDr. Samer Arandi
dc.relation.ispartofseries--
dc.subject.classificationIndustry
dc.supervisorDr. Samer Arandi
dc.titleVision-Assisted Cartesian Robotic System for 3D Block Construction
dc.typeGraduation Project
person.telephone+9705973325

Files

Original bundle

Now showing 1 - 4 of 4
Loading...
Thumbnail Image
Name:
Abstract_Hardware_Robotic_System_AR.docx
Size:
598.64 KB
Format:
Microsoft Word XML
Loading...
Thumbnail Image
Name:
Abstract_Hardware_Robotic_System_EN.docx
Size:
597.78 KB
Format:
Microsoft Word XML
Loading...
Thumbnail Image
Name:
Final Presentation Grad Project.pptx
Size:
9.02 MB
Format:
Microsoft Powerpoint XML
Loading...
Thumbnail Image
Name:
Hardware Graduation Project.pdf
Size:
13.13 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: