← Back to Projects

Robotic Arm Control Software

Developed a C# desktop application for a university lab's robotic arm, using computer vision to identify and sort objects on a small-scale assembly line.

Robotic Arm Control Software

Technologies Used

C#
.NET

This project involved the creation of a complete control and automation system for a robotic arm, built for a university laboratory's assembly line. The core of the project is a desktop application developed in C# with Windows Forms, which integrates computer vision for object recognition and serial communication for hardware control.

Desktop Control Interface

The application provides a comprehensive graphical user interface (GUI) for operators. It features a live video feed from a camera mounted on the assembly line, manual control overrides for the robotic arm, and a logging window to monitor the system's status and actions in real-time.

Main UI of the control software
The main user interface of the C# Windows Forms application, showing camera feed, controls, status logs and configurations.

Computer Vision & Pattern Matching

The system's main processing lies in its custom image recognition. It works by pre-saving and equalizing pattern templates. During operation, the software analyzes the live feed, detects objects, and performs a contour and shape statistical match against the saved patterns. Once a match is found, the application instructs the robotic arm to perform a sorting action.

Software recognizing the number 7
The software in action, successfully identifying an object with the pre-saved '7' pattern from the live camera feed.

Robotic Arm & Physical Assembly Line

The software interfaces directly with the physical robotic arm to pick up and place objects. Once a piece is identified, the application calculates the necessary movements and transmits commands to the arm, which then sorts the piece into a designated location corresponding to its recognized pattern.

Robotic arm in the lab setup
A view of the robotic arm positioned over the small-scale assembly line.
Close-up of the robotic arm's gripper
A close-up view of the arm's gripper.

Core C# Implementation

The application's is written entirely in C#. Key code segments handle the initial setup of the application, the complex logic for image processing and statistical matching, and the low-level serial communication protocol required to command the robotic arm hardware.

Code for image recognition logic
C# code snippet showcasing the contour and shape matching algorithm.
Code for serial port connection
Code snippet for establishing and managing serial connections with the robotic arm.
Code for software initialization
Code snippet Initialization code for setting up the main application window and its components.

Key Features:

  • C# Desktop Application: Robust control software built with Windows Forms.
  • Automated Object Sorting: Uses computer vision to identify and sort parts.
  • Contour & Statistical Matching: Custom algorithm for reliable pattern recognition.
  • Hardware Integration: Direct control of a robotic arm via serial communication.
  • Live Video Processing: Real-time analysis of a camera feed for immediate action.

Gallery

Robotic Arm Control Software image 1
Robotic Arm Control Software image 2
Robotic Arm Control Software image 3
Robotic Arm Control Software image 4
Robotic Arm Control Software image 5
Robotic Arm Control Software image 6
Robotic Arm Control Software image 7