The Automated Storage and Retrieval System (ASRS) Integration Project was a capstone project that aimed to bridge the gap between the ASRS and the industrial IRB 140 robotic arm. This integration focused on enhancing warehouse automation by enabling the IRB 140 to store, retrieve, index, assemble, and disassemble products, making it suitable for modern automated storage solutions.
Problem Statement
A fully functional ASRS had already been developed by a previous capstone team. However, the system required further integration with the IRB 140 robot to ensure seamless communication between various components, such as the Automated Guided Vehicle (AGV), tray storage systems, and indexing mechanisms. The goal of the project was to fully automate these interactions and make the ASRS capable of performing tasks without human intervention.
Project Team
Franck Djonou (Mechanical Engineering Technologist)
Irvin Lagac, Lucky Quintay, Grisham Sanchez
Prospective Solutions
1. Design:
The design phase focused on modifying the existing system to allow compatibility with the IRB 140. This involved a redesign of tray models, end effectors, and grippers, which are essential for the robot to interact with the storage system. The new designs were crafted to enhance functionality and efficiency.
2. Development:
Several design concepts were selected and developed to be used as functional hardware for the system. This included the creation of trays and end effectors that were specifically tailored for the automated environment, ensuring that they met industry standards for manufacturing and storage systems.
3. Programming:
To ensure a fully integrated system, the IRB 140 and ASRS were programmed to communicate effectively. The team developed software protocols that enabled the IRB 140 to send and receive requests automatically, controlling the retrieval and storage of trays in real-time.
Integration
1. Communication:
One of the primary challenges was enabling effective communication between the IRB 140 and the ASRS. The IRB 140 needed to send and receive requests from the system and communicate with the AGV for automated material handling. This allowed the robotic arm to manage storage, retrieval, and transport tasks with minimal human interaction.
2. Indexing:
The ASRS was programmed to keep track of the tray locations and monitor whether they were populated with products. The system could also track which shelf unit had specific trays, ensuring that retrieval processes were efficient and accurate. This indexing capability was essential for ensuring the smooth operation of the ASRS.
Applications
The system was designed to be highly versatile and applicable in a wide range of industries, including warehousing, distribution, and manufacturing. The ability to automate storage and retrieval processes allowed businesses to improve their efficiency and reduce labor costs. This integration could also serve as a model for future automation projects in similar industries.
Benefits
The main benefit of the project was an increase in efficiency due to the automation of storage and retrieval processes. By reducing the space required for storage and eliminating manual interventions, companies could significantly reduce operational costs. In addition, the project's focus on automation ensured faster delivery times, making it an ideal solution for industries with high storage and retrieval demands.
The project highlighted the immense potential of integrating robotic systems with automated storage solutions, demonstrating how innovation and collaboration could lead to significant advancements in warehouse automation technology.
Python Projects
Local Antivirus System Project Description:
Developed a local antivirus solution using Python to scan files and directories for malicious threats. This project was focused on detecting common malware patterns and alerting users when a threat was identified. The antivirus system integrated with the operating system to perform scheduled scans and provided a simple, user-friendly interface for real-time protection.
Key Features:
Signature-based scanning for known malware.
Real-time file monitoring and alert system.
Customizable scan schedules (full or specific directory scans).
Integration with system notifications for immediate threat alerts.
Technical Tools:
Python libraries: os, hashlib, shutil for file handling and detection.
PyInstaller for packaging the script as an executable file.
Regular expression (RegEx) for signature detection.
Outcome: The antivirus solution successfully reduced the risk of local infections by identifying and isolating malicious files, contributing to system security without resource-heavy operations.
Automated Client Update via WhatsApp Project Description:
Developed an automated notification system that sends client updates via WhatsApp. The project is designed to automate communication with clients regarding status updates, reminders, or new product releases through a WhatsApp Business API integration.
Key Features:
Automatic message generation based on predefined templates.
Sending updates using WhatsApp Business API.
Dynamic fetching of client data from a structured Excel sheet.
Automated message scheduling for timely updates.
Technical Tools:
WhatsApp Business API integration using Twilio for message delivery.
Pandas for fetching and processing data from client lists in Excel.
Outcome: This project improved client communication efficiency by automating routine updates and reducing manual intervention. It enabled timely, consistent messaging, boosting client satisfaction and engagement.
Data Analysis and Automated Excel Table Formatting Project Description:
Created a data analysis tool that reads and analyzes client data from Excel tables. The project involved automating formatting operations, such as conditional formatting, cell value updates, and report generation, to enhance the readability and insights extracted from raw data.
Key Features:
Automated data cleaning and analysis for large datasets.
Cell formatting (color-coding, text alignment, date formatting) based on predefined conditions.
Summarization of client data with metrics like monthly income, age demographics, etc.
Integration with Google Sheets and Excel for cross-platform compatibility.
Technical Tools:
Pandas and Openpyxl libraries for data analysis and Excel manipulation.
Google Sheets API for syncing Excel data to Google Sheets.
Custom scripts for automated cell formatting, such as date formats, color codes, and conditional text formatting.
Matplotlib for visual data representation, including graphs and charts.
Outcome: This project significantly enhanced productivity by automating the tedious process of formatting and analyzing data in Excel. It allowed for fast, accurate reporting and visualization, making data-driven decisions easier for businesses.
Technologies & Skills Used:
Programming Languages: Python
Libraries & APIs:
Antivirus Project: os, hashlib, shutil, PyInstaller
WhatsApp Client Update: Twilio API, Selenium, Tkinter
Data Analysis: Pandas, Openpyxl, Matplotlib, Google Sheets API
Automation Tools: Automated scheduling, Web scraping, API integration
Outcome of Projects: These Python-based projects have played a crucial role in automating repetitive tasks, improving security, enhancing client communication, and streamlining data analysis. The skills demonstrated across these projects include system integration, automation, data management, and communication technologies, making a strong case for your versatility as a developer and technologist.
Learning Structured Text Through CODESYS: Guided by "Mastering PLC Programming" by M.T. White
Project Description:
This project involved mastering Structured Text (ST) programming for PLCs using CODESYS as the development environment. Following the guidance of Mastering PLC Programming by M.T. White, the goal was to develop a deep understanding of Structured Text and advanced PLC programming techniques. Key areas of focus included debugging, complex variable declaration, creating modular and maintainable code, and object-oriented programming (OOP) principles. Additionally, the project emphasized how to use structured programming concepts like SOLID to create reliable and maintainable code, while incorporating Human-Machine Interfaces (HMI) and industrial controls to enhance user experience.
Key Learning Points:
Debugging: Learning advanced debugging techniques, troubleshooting errors, and optimizing PLC code to avoid runtime failures.
Complex Variable Declaration: Understanding how to declare and manage complex variables, including arrays, structures, and data types, to handle real-world automation tasks.
Modular and Maintainable Code: Breaking code into reusable functions and function blocks, emphasizing the importance of modularity for long-term maintainability.
Object-Oriented Programming (OOP): Applying OOP principles to Structured Text, leveraging the power of objects and classes to structure PLC code more efficiently.
Software Development Life Cycle (SDLC): Navigating the SDLC to design, develop, test, and deploy robust PLC programs.
SOLID Principles: Applying SOLID principles in PLC programming to ensure scalability, maintainability, and a strong foundation for future expansions.
Human-Machine Interfaces (HMI): Designing intuitive and user-friendly HMIs for industrial controls, ensuring that operators can interact with machines safely and efficiently.
Industrial Control Systems: Learning how to implement safety controls, monitoring systems, and automated processes for industrial environments.
Alarms and Safety: Developing alarm systems to detect and avoid catastrophic issues, ensuring that the PLC system can respond to critical conditions in real-time.
Technical Tools:
Programming Platform: CODESYS
PLC Programming Language: Structured Text (ST)
Book Reference: Mastering PLC Programming by M.T. White for instructional guidance and reference.
Practical Applications: Debugging, variable management, modular programming, OOP, SOLID principles, HMI design, and alarm management.
Project Examples Developed:
Advanced Motor Control with Debugging and Variable Declaration:
Designed a motor control system using Structured Text, focusing on handling complex variables (e.g., motor states, sensor inputs) and debugging techniques to ensure smooth operations.
Modular PLC Code Using Function Blocks and OOP:
Created a modular system for controlling various parts of an industrial machine. By breaking the code into reusable function blocks and applying OOP principles, the system was scalable and easy to maintain.
SOLID-Compliant Code for Industrial Automation:
Wrote Structured Text programs that adhere to SOLID principles, ensuring single-responsibility functions, open-closed designs, and high levels of abstraction for PLC logic.
User-Friendly HMI Design for Industrial Controls:
Developed an intuitive HMI interface for controlling and monitoring equipment. The focus was on creating user-friendly layouts and using structured alarms to prevent operator errors.
Alarm Management and Catastrophic Issue Prevention:
Implemented a real-time alarm system within the PLC logic to detect critical issues and alert operators. This project emphasized the importance of integrating safety mechanisms into industrial processes to prevent downtime and accidents.
Outcome: Through this learning project, a comprehensive skill set in Structured Text programming and industrial automation was developed. Mastering the full SDLC, along with advanced programming concepts like OOP and SOLID, has resulted in a deeper understanding of writing efficient, maintainable, and scalable PLC code. The integration of HMIs and alarm systems highlights the importance of user experience and safety in industrial environments.
Technologies & Skills Used:
CODESYS: Development platform for PLC programming.
Structured Text (ST): Primary programming language used.
Object-Oriented Programming (OOP): Leveraged the power of objects to structure and modularize PLC code.
SOLID Principles: Ensured high-quality, scalable, and maintainable PLC code.
Human-Machine Interface (HMI): Designed user-friendly and safe industrial controls.
Alarm Systems: Implemented real-time safety alarms to avoid critical failures.
Outcome of Learning Project: The project enhanced my ability to write clean, efficient, and maintainable code in Structured Text while following best practices in software development, including modularization, debugging, and safety integration. This experience has laid the foundation for applying these skills in real-world industrial automation projects and tackling complex PLC systems with confidence.