Skip to content

Repository files navigation

ENG: Design of SCARA robot equipped with vision system

About the project

A prototype of a SCARA robot integrated with a computer vision system, developed as an engineering thesis.

The aim of the project was to design and construct a SCARA robot capable of drawing a path through a maze based on visual feedback. The localization of the maze within the robot's coordinate system is based on ArUco marker detection and analysis. The system calculates the optimal path using the A* algorithm and translates it into the robot's joint coordinates using inverse kinematics equations. Control commands are transmitted to the robot's microcontroller, which executes the movement by synchronized control of the servomechanisms. The structural elements of the robot were manufactured using 3D printing technology.


Captured image

Calculated optimal path

Drawn path vs optimal path

Project structure

  • main.py – Main entry point. Integrates the vision system, maze-solving logic and robot communication.
  • vision_system.py – Handles image processing (ArUco detection, perspective warping, and binarization).
  • solve_maze.py – Implements the A* pathfinding algorithm and calculates joint coordinates via inverse kinematics.
  • scara_communication.py – Module for sending control commands to the microcontroller.
  • calibration.py – Helper script for camera calibration.
  • requirements.txt - List of Python libraries required to run the project.
  • 3d_parts/ - 3D models of the robot's components (.3mf files).
  • arduino/scara_arduino.ino - Microcontroller firmware (C++) for communication and servo control.

Technologies & tools

Software

  • Python – Primary programming language.
    • OpenCV (vision)
    • NumPy & SciPy (mathematics & kinematics)
    • Matplotlib (visualization)
  • C++ (Arduino) – Microcontroller firmware for robot control.

3D modeling

  • Autodesk Fusion

scara


PL: Projekt robota typu SCARA wyposażonego w system wizyjny

O projekcie

Prototyp robota SCARA zintegrowanego z systemem wizyjnym zrealizowany w ramach projektu inżynierskiego.

Celem pracy był projekt i konstrukcja robota w konfiguracji SCARA, który na podstawie informacji z systemu wizyjnego rysował ścieżkę przejścia przez labirynt. Obliczenie położenia labiryntu we współrzędnych robota opiera się na wykrywaniu i analizie markerów ArUco, wyznaczeniu optymalnej ścieżki przejścia za pomocą algorytmu A* oraz przeliczenia jej na współrzędne złączowe robota. Gotowe komendy sterujące przesyłane były na mikrokontroler robota, który realizował ruch synchronizując pracę serwomechanizmów. Elementy konstrukcyjne robota wykonano w technice druku 3D.


Przechwycony obraz

Wyznaczona przez algorytm ścieżkah

Zrealizowana przez robota ścieżka vs ścieżka wyznaczona przez algorytm

Struktura plików

  • main.py – Główny punkt wejścia do aplikacji. Integruje system wizyjny, logikę rozwiązywania labiryntu oraz komunikację z robotem.
  • vision_system.py – Odpowiada za przetwarzanie obrazu (wykrywanie znaczników ArUco, prostowanie perspektywy, binaryzację).
  • solve_maze.py – Implementacja algorytmu wyszukiwania ścieżki w labiryncie (A*) oraz przeliczenie wyznaczonej ścieżki na gotowe komendy w układzie współrzędnych złączowych robota na podstawie równań kinematyki odwrotnej.
  • scara_communication.py – Moduł obsługujący wysyłanie komend sterujących do mikrokontrolera.
  • calibration.py – Skrypt pomocniczy do kalibracji kamery.
  • requirements.txt - Biblioteki Python niezbędne do uruchomienia projektu.
  • 3d_parts/ - Modele 3D części robota (pliki .3mf).
  • arduino/scara_arduino.ino - Skrypt mikrokontrolera obsługujący komunikację i sterowanie serwomechanizmami.

Użyte narzędzia

Software

  • Python – główny język programowania.
    • OpenCV (wizja)
    • NumPy i SciPy (obliczenia i kinematyka)
    • Matplotlib (wizualizacje)
  • C++ (Arduino) – oprogramowanie sterujące mikrokontrolerem robota.

Modelowanie 3D

  • Autodesk Fusion

scara

About

SCARA robot with computer vision system for automated maze solving.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages