Professional Documents
Culture Documents
Final Year Project I 3 - Copy
Final Year Project I 3 - Copy
Advisor
Mr. Abebe.K
Debre tabor, Amhara, Ethiopia
Juan 2024
APPROVAL
The Project is our own and has not been presented for a degree in any other university with
these functionalities and all the sources of material used for the project have been duly
acknowledged. (Name and Signature of the project group members)
Name signature
1. TEWODROS ABERE
2. TEWODROS YIRGA
3. MAHDER EYEBERU
4. BALEWGIZE ALMAW
5. YOHANNIS GUADEGNAW
6. ABEL MEKONEN
7. AYUB GETACHEW
8. SAMUEL KASSAHUN
This is to certify that I have read this project and that in my opinion it is fully adequate, in scope
and quality, as a project for the degree of Bachelor of Science
ABEBE KINDIE
1.
2.
3.
4.
ACKNOWLEDGEMENT
We would like to express our deepest gratitude to all the individuals who have supported us
throughout the development of this project.
First and foremost, we are immensely grateful to God for providing us with the strength,
wisdom, and perseverance to undertake and complete this project. Without His guidance and
blessings, this accomplishment would not have been possible.
We extend our heartfelt thanks to our families for their unwavering support, encouragement, and
understanding throughout this journey. Their love and belief in us have been a constant source of
motivation.
We are also thankful to our friends, who have been a great support system, providing us with
encouragement and advice whenever we needed it.
Special thanks to our teachers for their invaluable guidance and for imparting the knowledge and
skills necessary to carry out this project. Their dedication to teaching and commitment to our
education have been instrumental in our success.
We would like to express our sincere gratitude to our adviser, Mr. Abebe Kindie (MSC), for his
expert advice, insightful feedback, and continuous support throughout the project. His guidance
has been crucial in shaping the direction and quality of our work.
Finally, we appreciate everyone who has contributed to the project in any way. Your help and
support have been deeply appreciated and have made a significant impact on the successful
completion of this project.
ABBREVIATION
1. API: Application Programming Interface - A set of rules and definitions that allows
software programs to communicate with each other.
2. AutoCAD: Automatic Computer-Aided Design - A software application for 2D and 3D
design and drafting.
3. CSS: Cascading Style Sheets - A language used to describe the presentation of a
document written in HTML or XML.
4. DHL: Dalsey, Hillblom, and Lynn - A division of the German logistics company
Deutsche Post DHL providing international courier, parcel, and express mail services.
5. EMAIL: Electronic Mail - A method of exchanging digital messages over the internet.
6. ESCs: Electronic Speed Controllers - Devices used to control the speed of electric
motors, typically in UAVs and RC vehicles.
7. GDPR: General Data Protection Regulation - A regulation in EU law on data protection
and privacy in the European Union and the European Economic Area.
8. GPS: Global Positioning System - A satellite-based navigation system that provides
location and time information.
9. HTML: Hypertext Markup Language - The standard markup language for creating web
pages and web applications.
10. HTTP: Hypertext Transfer Protocol - The foundation of any data exchange on the Web,
and it is a protocol used for transmitting hypertext.
11. HTTPS: Hypertext Transfer Protocol Secure - An extension of HTTP used for secure
communication over a computer network.
12. IDE: Integrated Development Environment - A software application that provides
comprehensive facilities to computer programmers for software development.
13. IMU: Inertial Measurement Unit - A device that measures and reports on a body's
specific force, angular rate, and sometimes the magnetic field surrounding the body.
14. MONGODB: Mongo Database - A NoSQL database program that uses JSON-like
documents with optional schemas.
15. NOSQL: Non-Relational Structured Query Language - A type of database design that
provides flexible schemas for the storage and retrieval of data beyond the traditional
tabular relationships used in relational databases.
16. PID: Proportional, Integral, Derivative - A type of feedback controller used in industrial
control systems.
17. RESTful: Representational State Transfer - An architectural style for designing
networked applications.
18. RF: Radio Frequency - The rate of oscillation of electromagnetic radio waves in the
range of 30 kHz to 300 GHz.
19. SMS: Short Message Service - A text messaging service component of most telephone,
internet, and mobile device systems.
20. SQL: Structured Query Language - A standard language for managing and manipulating
databases.
21. UAT: User Acceptance Testing - A process of verifying that a solution works for the
user.
22. UAVs: Unmanned Aerial Vehicles - Aircraft without a human pilot on board, commonly
known as drones.
23. UI design: User Interface Design - The design of user interfaces for machines and
software, such as computers, home appliances, mobile devices, and other electronic
devices.
24. XSS: Cross-Site Scripting - A type of security vulnerability typically found in web
applications.
ABSTRACT
This project proposes the development of an Arduino-based quadcopter integrated with a web-
based delivery management platform tailored to the unique logistical challenges of Ethiopia. The
quadcopter will execute precise delivery operations while the website will facilitate user
interactions and manage administrative tasks. The quadcopter, controlled via a joystick, will
perform essential delivery functions, leveraging GPS and live camera feeds to ensure accuracy
and efficiency. The web platform will offer functionalities such as user registration, order
placement, real-time order tracking, payment processing, and feedback collection.
Administrators will have comprehensive oversight capabilities, including order management,
user registration, and drone status monitoring.
This integrated system aims to revolutionize the delivery sector in Ethiopia by offering a more
efficient, reliable, and technologically advanced solution compared to traditional methods. The
feasibility analysis confirms that both the quadcopter and the web platform can be developed and
deployed effectively within the project's constraints. The project employs various methodologies,
including agile development for the web platform and iterative prototyping for the quadcopter,
ensuring both systems are robust and user-friendly.
By addressing the existing bottlenecks in traditional delivery systems, this project seeks to
enhance delivery speed, accuracy, and customer satisfaction. The detailed system analysis
includes use case diagrams, activity diagrams, and sequence diagrams to ensure a comprehensive
understanding and implementation of both the quadcopter and the web platform. The successful
implementation of this project will not only streamline delivery services but also pave the way
for future technological advancements in the region.
CHAPTER ONE
1.1 Introduction
The advent of unmanned aerial vehicles (UAVs), specifically quadcopters, has revolutionized
various industries, including logistics and delivery. This project, titled "Arduino-Based
Quadcopter Delivery System," integrates advanced drone technology with a user-friendly web-
based platform to provide an efficient and reliable delivery service. Unlike traditional delivery
methods constrained by traffic and limited accessibility, our solution leverages the agility and
speed of quadcopters to overcome these challenges.
The project features an Arduino-controlled quadcopter with a self-built controller for precise
control and stabilization. Quadcopters are a type of UAV that are defined by their four rotors,
which allow for vertical takeoff and landing, as well as stable hovering capabilities. These
characteristics make them exceptionally useful in applications ranging from aerial photography
and videography to precision agriculture, surveillance, and delivery services.
1.2.1 Vision
Our vision is to redefine the delivery industry by merging advanced drone technology with
intuitive online platforms, thereby providing unparalleled delivery services that are fast, reliable,
and accessible to everyone. We strive to be setting new benchmarks in delivery efficiency and
customer satisfaction.
1.2.2 Mission
Our mission is to design, develop, and deploy an Arduino-based quadcopter for delivery
services, accompanied by a robust website for managing and tracking deliveries. We are
committed to using affordable and open-source technologies to democratize access to advanced
delivery solutions. By doing so, we aim to foster innovation, enhance accessibility, and provide a
practical, scalable delivery solution that meets the evolving needs of businesses and consumers
alike. By incorporating stabilization features, we aim to enhance user interaction and flight
stability, making drone technology more approachable and applicable to a wider range of users.
The increasing demand for efficient delivery services in urban areas has highlighted the
limitations of traditional delivery methods. Traffic congestion, high labor costs, and
environmental concerns are significant challenges faced by conventional delivery systems. In
response to these issues, our project explores the potential of quadcopters as a viable alternative
for delivery services. By leveraging the flexibility and speed of drones, we aim to create a system
that can navigate urban landscapes more efficiently and with less environmental impact.
The project involves two main components: the development of an Arduino-based quadcopter
and the creation of a comprehensive web platform for managing deliveries. The quadcopter will
be equipped with a controller for precise maneuvering and stability. The web platform will allow
users to place orders, track deliveries in real-time, and manage their delivery history. This dual
approach ensures that both the technological and user experience aspects are addressed,
providing a seamless and efficient delivery service.
The traditional delivery systems are plagued by several inefficiencies, including traffic delays,
high operational costs, and limited accessibility to remote or congested areas. These issues result
in delayed deliveries, increased fuel consumption, and a higher carbon footprint. In densely
populated urban areas, these problems are exacerbated, leading to customer dissatisfaction and
logistical challenges for businesses.
Our project aims to address these issues by developing an Arduino-based quadcopter delivery
system integrated with a user-friendly web platform. The quadcopter can bypass traffic and reach
destinations more quickly, reducing delivery times and operational costs. Additionally, the use of
electric drones contributes to lower emissions, aligning with environmental sustainability goals.
By offering real-time tracking and efficient management through the web platform, we seek to
enhance the overall delivery experience for both businesses and customers.
Our project team is composed of individuals with diverse knowledge and a shared commitment
to innovation. The team includes:
No Name Tasks
Title selection, document preparation, researching,
1 Tewodros Abere project managing, hardware engineering, coding,
UI(user interface) design
Title selection, document preparation, researching,
2 Tewodros Yirga project managing, hardware engineering, coding, UI
design
Title selection, document preparation, researching,
3 Mahder Eyeberu
hardware engineering, coding, UI design
Title selection, document preparation, researching,
4 Balewgize Almaw
hardware engineering, coding, UI design
Title selection, document preparation, researching,
5 Yohannis Guadegnaw
hardware engineering, coding, UI design
Title selection, document preparation, researching,
6 Abel Mekonen
hardware engineering, coding, UI design
Title selection, document preparation, researching,
7 Ayub Getachew
hardware engineering, coding, UI design
Title selection, document preparation, researching,
8 Samuel Kassahun
hardware engineering, coding, UI design
The general objective of this project is to design and implement an Arduino-based quadcopter
delivery system integrated with a web-based platform to provide an efficient, reliable, and
environmentally friendly delivery service. The project aims to demonstrate the feasibility and
benefits of using UAVs for last-mile delivery in urban environments, addressing common
challenges such as traffic congestion and high operational costs.
1. Develop the Quadcopter: Design and build an Arduino-based quadcopter with a self-
built control system to ensure stable and precise flight operations.
2. Create the Web Platform: Develop a comprehensive web platform that allows users to
register, place orders, track deliveries in real-time, and manage delivery histories.
3. Integrate GPS Tracking: Implement GPS technology to provide real-time tracking of
the quadcopter, ensuring accurate delivery locations and estimated delivery times.
4. Implement a Notification System: Develop a notification system to keep users
informed about their order status, including confirmation, dispatch, and delivery
notifications.
5. Ensure Battery Monitoring: Integrate a system to monitor the quadcopter's battery
status, ensuring safe and efficient operation during delivery missions.
6. Test and Validate: Conduct extensive testing of both the quadcopter and the web
platform to ensure reliability, safety, and user satisfaction.
By achieving these specific objectives, the project aims to provide a practical solution to the
challenges faced by traditional delivery systems, offering a modern alternative that leverages the
advantages of UAV technology.
The feasibility analysis for the Arduino-based quadcopter delivery system encompasses several
dimensions to determine the viability of successfully completing the project. This analysis
evaluates the operational, technical, economic, behavioral/political, and schedule feasibility to
ensure that all aspects of the project are achievable within the given constraints.
Quadcopter Development
Control System: The switch from a gesture-controlled system to a joystick-based
controller simplifies the control mechanism, are well-understood, reliable, and can be
built using standard Arduino components.
Delivery Mechanism: The quadcopter will be equipped with a payload management
system that ensures secure and efficient delivery of packages. The feasibility of this
system is supported by existing models of drone delivery used by companies like
Amazon and Google.
User Training: Pilots will require minimal training to operate the joystick-based
controller, as it is intuitive and user-friendly. This reduces the operational complexity and
enhances the feasibility of the project.
Website Development
User Registration and Order Placement: Implementing user registration and order
placement functionalities is straightforward with modern web development frameworks.
Ensuring user data security and providing a seamless user experience will be prioritized.
Order Tracking and Notifications: Real-time tracking of the quadcopter and sending
notifications to users are achievable using Global Positioning System (GPS) technology
and notification systems like electronic mail (email) and short message service (SMS).
These functionalities are commonly implemented in delivery and logistics systems.
Technical feasibility assesses whether the project can be developed with the available
technology, skills, and resources.
Quadcopter Development
Website Development
Frontend and Backend Development: Modern web technologies like hypertext markup
language(HTML),cascading style sheet(CSS), JavaScript, Python (Django), or Node.js
offer robust frameworks for building the website. These technologies are well-supported,
and the development team possesses the necessary skills to implement them.
Database Management: Using relational (Structured Query Language (SQL)) or non-
relational (not only SQL(NoSQL)) databases for managing user data, orders, and delivery
tracking is feasible. These databases are reliable and can handle the expected load.
API Integration: Developing Representation State Transfer (RESTful) Application
Programming Interfaces (APIs) to communicate between the website and the
quadcopter's control system is technically feasible. Existing libraries and frameworks
facilitate the creation of secure and efficient APIs.
Economic feasibility analyzes the cost-effectiveness of the project, ensuring that it is financially
viable.
Quadcopter Development
Cost of Components: The cost of Arduino components, sensors, and other hardware is
relatively low. Bulk purchasing can further reduce costs. Besides, most of the
components we are looking for the manufacturing of the quadcopter are available in our
campus ground.
Development Costs: The development costs are minimized by using open-source
software and in-house expertise. No licensing fees for software or tools are required.
Maintenance and Operations: The ongoing maintenance costs of the quadcopter, such
as battery replacements and repairs, are manageable within the project's budget.
Website Development
Development Costs: The use of open-source web development frameworks and cloud
hosting solutions minimizes development and operational costs. Initial development can
be done in-house, leveraging existing skills.
Operational Costs: Cloud-based solutions offer scalable pricing models, allowing the
project to start with minimal costs and expand as needed. The cost of maintaining and
updating the website is also economically feasible.
Behavioral/political feasibility examines the human and regulatory factors that might impact the
project.
Quadcopter Development
Website Development:
User Engagement: The website's user-friendly design and functionality will encourage
user engagement. Regular feedback will be sought to ensure the platform meets user
needs.
Data Privacy: Ensuring compliance with data privacy regulations (such as General Data
Protection Regulation (GDPR)) is essential. Implementing robust data protection
measures will address user concerns about privacy and security.
Schedule feasibility assesses whether the project can be completed within the given timeframe.
Quadcopter Development
Development Timeline: The modular nature of the project allows parallel development
of different subsystems. In addition, 6-8 months of time is left for the completion of the
project which will be enough to manufacture and test our quadcopter.
Milestones: Key milestones will be set to track progress and ensure timely completion.
Regular progress reviews will help identify and address any delays promptly.
Website Development
Development Phases: The website development will follow an agile methodology, with
iterative development cycles. This allows for continuous feedback and improvements.
Timeline Management: A detailed timeline with specific deliverables for each
development phase will be created. This includes frontend and backend development,
database setup, API integration, and testing.
By analyzing these aspects, we conclude that the project is feasible operationally, technically,
economically, behaviorally, and within the given schedule. Careful planning, resource allocation,
and adherence to the outlined methodologies will ensure the successful completion of the
Arduino-based quadcopter delivery system project.
It encompasses the development of an Arduino-based quadcopter for delivery services and the
accompanying web platform to manage delivery operations. The project scope is divided into
two main parts: the quadcopter and the web platform.
Inclusions
1. Quadcopter Design and Construction: Building an Arduino-based quadcopter with
essential components including motors, propellers, ESCs, a flight controller, a GPS
module, a battery and others. Integration of a camera for live video feed.
2. Control System: Development of a joystick-based controller for manual operation of the
quadcopter. Implementing control algorithms for stable flight and maneuvering.
3. Payload Management: Designing a mechanism for carrying and releasing packages.
Ensuring the quadcopter can handle a predefined maximum payload weight.
4. Navigation and Tracking: Integrating GPS for real-time location tracking.
Implementing autonomous flight capabilities for navigating to delivery locations within a
defined delivery zone.
5. Battery Management: Monitoring battery status and ensuring the quadcopter returns to
the base before the battery is depleted.
Exclusions
Inclusions
1. User Registration and Management: Allowing users to register and manage their
profiles. Secure authentication and data protection mechanisms.
2. Order Management: Enabling users to place orders by specifying pick-up and drop-off
locations. Providing an interface for users to input package details and schedule
deliveries.
3. Order Tracking: Real-time tracking of the quadcopter during deliveries. Displaying the
current location of the quadcopter and estimated delivery time.
4. Admin Dashboard: A comprehensive admin panel for managing registered users,
viewing orders, and monitoring delivery status. Features for payment confirmation,
notification management, and delivery zone adjustments.
5. Notification System: Sending email notifications to users about their order status,
including confirmation, dispatch, and delivery.
6. Payment Integration: Secure payment processing for service fees. Supporting various
payment methods.
7. Delivery Zone Management: Defining and modifying delivery zones within the
operational range of the quadcopter. Verifying if delivery addresses fall within the
defined zones.
8. Feedback and Support: Allowing users to provide feedback on their delivery
experience. Admin access to user feedback for service improvement.
Exclusions
1. Product Sales and Inventory Management: The platform will not include
functionalities for buying, selling, or managing inventory of products.
2. Third-Party Integrations: Integration with third-party services or platforms beyond the
specified GPS and payment systems.
3. Advanced Data Analytics: Complex data analytics and reporting beyond basic order and
delivery tracking are not included.
4. Mobile Applications: Development of dedicated mobile applications for the platform is
not within the scope.
5. Comprehensive Customer Support System: Advanced customer support features such
as live chat or extensive support ticketing systems are not covered.
While the project aims to provide an innovative solution for delivery services, it has several
limitations including some of the exclusions listed in the scope of the project. Some additional
limitations include:
Battery Life: The flight time of the quadcopter is limited by its battery capacity, which
restricts the range and number of deliveries that can be made on a single charge.
Payload Capacity: The quadcopter can only carry packages up to a certain weight limit,
limiting the types of items that can be delivered.
Weather Conditions: Adverse weather conditions such as rain, strong winds, and
extreme temperatures can affect the performance and safety of the quadcopter.
Regulatory Restrictions: Compliance with aviation regulations may limit the areas
where the quadcopter can operate, especially in densely populated or restricted zones.
By acknowledging these limitations, the project team can develop strategies to mitigate their
impact and ensure the successful implementation of the quadcopter delivery system.
The significance of the project lies in its potential to revolutionize the delivery service industry
through the integration of advanced drone technology and a user-friendly web platform. This
project aims to address several key areas:
1. Efficiency and Speed: By utilizing quadcopters for delivery, the project promises faster
and more efficient delivery services. Drones can avoid traffic and deliver packages
directly to the destination, significantly reducing delivery times.
2. Cost-Effectiveness: The project can lower operational costs associated with traditional
delivery methods, such as fuel and labor costs. The reduced need for vehicles and
delivery personnel can lead to substantial savings for delivery service providers.
3. Environmental Impact: Quadcopter deliveries produce fewer emissions compared to
traditional vehicle-based deliveries, contributing to a reduction in the carbon footprint
and promoting environmental sustainability.
4. Innovation and Technological Advancement: The project showcases the potential of
integrating cutting-edge technologies, such as GPS tracking, Internet Of Things (IoT),
and automated systems, into everyday services. It promotes the advancement of drone
technology and its applications in various industries.
5. Enhanced Customer Experience: The web platform's functionalities, such as real-time
tracking, notifications, and easy order placement, improve the overall customer
experience. Customers can have greater control and visibility over their deliveries.
6. Scalability: The system can be scaled to accommodate an increasing number of users
and deliveries, making it a viable solution for both small and large-scale operations.
7. Flexibility: even if the quadcopter is mainly used for delivery purposes in this project, it
is evident that it can also be deployed to various needs like environmental monitoring,
disaster response, agricultural and medical uses and other public service applications. In
addition the system can be integrated with other systems like Electronic commerce(E-
commerce) platforms or companies with productions or delivery services like restaurants,
hotels and supermarkets.
1. Customers: Individuals and businesses looking for a fast, reliable, and convenient
delivery service. They benefit from the ease of use, real-time tracking, and timely
notifications provided by the web platform.
2. Delivery Service Providers: Companies that adopt this drone delivery system can
reduce operational costs, improve delivery times, and enhance service quality. This
system can help them stay competitive in the evolving market.
3. E-commerce Businesses: Online retailers can integrate this delivery system to offer
faster shipping options, enhancing customer satisfaction and potentially increasing sales.
4. Environmental Organizations: The reduction in carbon emissions from using drones
for deliveries supports environmental sustainability efforts.
5. Technology Enthusiasts and Developers: The project provides a platform for further
research and development in drone technology and its applications, encouraging
innovation and technical advancements.
6. Local Communities: Reduced traffic congestion and pollution contribute to improved
quality of life in urban areas.
The methodology for developing the Arduino-based quadcopter and the associated delivery
website involves a combination of hardware development, software engineering, and integration
techniques. Below, we detail the specific methods and techniques that will be employed in both
parts of the project.
1. Requirements Analysis
2. Hardware Assembly
Frame Construction: Assemble the physical frame of the quadcopter using lightweight,
durable materials such as carbon fiber or aluminum.
Component Integration: Install motors, ESCs, flight controllers, GPS modules,
cameras, and other sensors onto the frame.
Wiring and Connections: Carefully wire all electronic components to ensure reliable
power supply and signal transmission.
3. Software Development
Bench Testing: Conduct initial tests of individual components and subsystems to ensure
proper functionality.
Field Testing: Perform field tests to calibrate sensors, fine-tune control algorithms, and
validate the overall performance of the quadcopter.
Safety Checks: Implement safety checks such as fail-safes and return-to-home
functionality in case of signal loss or low battery.
System Integration: Integrate all hardware and software components into a cohesive
system.
Final Testing: Conduct comprehensive testing to ensure all functionalities work as
intended, including payload management, navigation, and safety features.
1.12.2 Web Platform Development Methodology
1. Requirements Analysis
User Stories and Use Cases: Gather requirements by defining user stories and use cases
for different user roles (admin, customer, pilot).
Functional Specifications: Detail the functional requirements for user registration, order
placement, tracking, notifications, and admin dashboard.
2. Design
Database Design: Create a database schema to store user information, order details,
delivery history, and other relevant data.
User Interface Design: Develop wireframes and prototypes for the website’s user
interface, ensuring a user-friendly experience.
System Architecture: Define the architecture of the web platform, including server-side
and client-side components, APIs, and communication protocols.
3. Frontend Development
HTML/CSS: Use HTML and CSS to build the structure and style of the website.
JavaScript: Implement interactive features and dynamic content using JavaScript
frameworks such as React or Angular.
4. Backend Development
Server-Side Logic: Develop server-side logic using programming languages like Python
(Django), Node.js, or Ruby on Rails to handle user requests, process orders, and manage
data.
API Development: Create RESTful APIs to enable communication between the frontend
and backend, as well as with the quadcopter’s control system for real-time tracking.
Database Management: Use SQL or NoSQL databases to store and retrieve data
efficiently.
5. Security Measures
6. Testing
Unit Testing: Write unit tests for individual components and functions to ensure
correctness.
Integration Testing: Conduct integration testing to verify that different parts of the
system work together seamlessly.
User Acceptance Testing: Perform user acceptance testing (UAT) with real users to
gather feedback and make necessary improvements.
Deployment: Deploy the web platform on a reliable hosting service, ensuring scalability
and performance.
Monitoring and Maintenance: Continuously monitor the system for performance and
security issues, and perform regular maintenance and updates.
By following these detailed methodologies, we aim to build a robust and efficient quadcopter for
delivery services and a user-friendly web platform to manage and track deliveries.
Fact-finding techniques are essential for gathering the necessary information to inform the
project's development and ensure that the final system meets the needs of all stakeholders. The
following techniques will be used:
The systems analysis and design approach for the Arduino-based quadcopter delivery system is
crucial for ensuring that both the hardware and software components are well-integrated and
meet user requirements. This approach involves several stages.
Systems Analysis
Requirements Gathering: The first step in systems analysis is to gather detailed requirements
from stakeholders. This includes understanding the needs of customers, delivery service
providers, and pilots. Techniques such as interviews, surveys, and observations are used to
collect this information.
System Modeling: Once the requirements are gathered, system modeling techniques are
employed to visualize the system's structure and behavior. Use case diagrams, sequence
diagrams, and data flow diagrams are created to represent the interactions between users and the
system. These models help in identifying the system's functionalities and data flow.
System Specifications: Detailed system specifications are documented, outlining the hardware
and software requirements, functional and non-functional requirements, and system constraints.
These specifications serve as a blueprint for the design phase.
Systems Design
Architectural Design: The architectural design defines the overall structure of the system,
including the hardware and software components and their interactions. For the quadcopter, this
involves designing the frame, selecting the Arduino microcontroller, sensors, motors, and GPS
module. For the web platform, this includes designing the server-side architecture, database, and
user interface.
Detailed Design: In this phase, detailed designs for each component are developed. This
includes circuit diagrams for the quadcopter, detailed schematics for the controller, and
wireframes for the web platform's user interface. The detailed design ensures that each
component functions as intended and integrates seamlessly with the other parts.
Prototyping: Prototyping is an iterative process where preliminary versions of the system are
developed and tested. Prototypes of the quadcopter and the web platform are created to validate
the design, gather user feedback, and make necessary adjustments before final implementation.
Integration Planning: Integration planning involves defining how the hardware and software
components will be integrated and tested. This includes developing integration tests to ensure
that the quadcopter and web platform work together effectively, and planning for data
synchronization between the two systems.
The development of the Arduino-based quadcopter delivery system requires a range of tools to
facilitate hardware and software development, testing, and deployment. The selected tools ensure
that the project is built efficiently and effectively.
Hardware Development Tools
Arduino IDE: The Arduino Integrated Development Environment (IDE) is used for writing,
compiling, and uploading code to the Arduino microcontroller. It provides a user-friendly
interface and a wide range of libraries for controlling sensors, motors, and other components.
Fritzing: Fritzing is a tool for creating electronic circuit diagrams and PCB layouts. It helps in
designing the quadcopter's circuitry and ensures that all components are correctly connected.
3D Modeling Software: Software like AutoCAD or SolidWorks is used for designing and
simulating the quadcopter frame and other mechanical parts. These tools help in visualizing the
physical structure and ensuring that it meets design specifications.
Multimeter and Oscilloscope: These tools are essential for testing and debugging the
quadcopter's electronic circuits, measuring voltage, current, and signal waveforms to ensure
proper functionality.
Visual Studio Code: Visual Studio Code is a versatile code editor that supports multiple
programming languages. It is used for developing the web platform's front-end and back-end
code, providing features like syntax highlighting, debugging, and version control integration.
Node.js and Express: Node.js is a runtime environment for executing JavaScript on the server
side, and Express is a web application framework for Node.js. Together, they are used to develop
the server-side logic and APIs for the web platform.
MongoDB: MongoDB is a NoSQL database used to store user data, order details, and delivery
tracking information. It provides flexibility in handling large amounts of unstructured data and
supports real-time data processing.
Git and GitHub: Git is a version control system that tracks changes to the codebase, and
GitHub is a platform for hosting and collaborating on Git repositories. These tools facilitate
collaborative development, code review, and version management.
Postman: Postman is a tool for testing APIs. It is used to test the web platform's APIs, ensuring
that they function correctly and meet the specified requirements.
The software requirements for the Arduino-based quadcopter delivery system encompass the
essential applications, frameworks, and libraries needed to develop, test, and deploy the system.
These requirements ensure that both the quadcopter and the web platform function as intended
and provide a seamless user experience.
Arduino IDE: The primary development environment for writing, compiling, and uploading
code to the Arduino microcontroller. It supports various libraries necessary for interfacing with
sensors, motors, and communication modules.
Web Platform
Node.js and Express: For server-side development, handling HTTP requests, and
managing APIs.
React or Angular: For developing a responsive and dynamic front-end user interface.
MongoDB: For managing user data, order information, and tracking data.
Socket.io: For real-time communication between the server and client, enabling live
order tracking and notifications.
Passport.js: For user authentication and authorization, ensuring secure access to the web
platform.
Payment platforms: For integrating payment processing capabilities, allowing
customers to pay for delivery services.
Google Maps API: For implementing map functionalities, such as selecting delivery
locations and tracking the quadcopter's route.
Jest or Mocha: For unit testing JavaScript code, ensuring that each function works
correctly.
Postman: For testing and validating APIs.
Selenium: For automated testing of the web platform's user interface.
The hardware requirements for the Arduino-based quadcopter delivery system include all the
physical components needed to build and operate the quadcopter and the necessary infrastructure
to support the delivery service. These components ensure the system's reliability, efficiency, and
overall performance.
Quadcopter Components
Frame: A durable and lightweight frame to house all the components and ensure stability
during flight.
Arduino Microcontroller: The brain of the quadcopter, responsible for processing
inputs from the joystick controller and sensors and controlling the motors.
Motors and ESCs: Brushless motors and ESCs to provide the necessary thrust and
control for the quadcopter.
Propellers: High-quality propellers to generate lift and ensure smooth flight.
Battery: A rechargeable LiPo battery to power the motors and electronics, along with a
battery management system.
GPS Module: For real-time location tracking and navigation.
IMU (Inertial Measurement Unit): Comprising an accelerometer and gyroscope for
stabilizing the quadcopter and providing orientation data.
Radio Receiver and Transmitter: For communication between the joystick controller
and the quadcopter.
Camera: For providing a live feed to the pilot and assisting with navigation and delivery
tasks.
Controller Components
Web Server: A reliable and scalable server to host the web platform and handle user
requests.
Database Server: For storing user data, order details, and tracking information.
Network Equipment: Routers, switches, and access points to ensure stable and secure
connectivity.
GPS Tracking Devices: Additional GPS units for enhanced tracking accuracy.
Personal computers: provide browsers to connect to the website through the internet.
These hardware components are essential for building a robust and reliable Arduino-based
quadcopter delivery system, capable of providing efficient delivery services while ensuring
safety and user satisfaction
Testing procedures are essential to ensure that the Arduino-based quadcopter delivery system
performs reliably and meets all specified requirements. These procedures help in identifying and
fixing issues at various stages of development, thereby enhancing the system's quality and
performance.
Unit testing involves testing individual components or units of the system in isolation. This
process ensures that each part functions correctly before they are integrated into the larger
system.
Software Unit Testing: Each software module, such as user authentication, payment processing,
and GPS tracking, is tested independently. Automated testing frameworks like Jest or Mocha are
used to create and run tests, ensuring that each function and method produces the expected
output.
Hardware Unit Testing: Individual hardware components, such as motors, sensors, and the
GPS module, are tested separately. This involves verifying the correct operation of each sensor,
ensuring motors respond appropriately to control signals, and confirming that the GPS module
provides accurate location data.
Arduino Code Testing: The code running on the Arduino microcontroller is tested in segments.
Each part of the code, such as motor control, sensor data processing, and communication with
the joystick controller, is tested to ensure it performs as intended.
Integration testing is conducted to ensure that different units and components work together as a
cohesive system. This stage verifies that the interactions between hardware and software
components do not produce any errors or unexpected behavior.
Hardware-Software Integration: The integration between the Arduino microcontroller and the
hardware components (motors, sensors, GPS module) is tested. This involves checking if the
microcontroller correctly interprets sensor data and controls the motors accordingly.
System Components Integration: Integration between the web platform and the quadcopter is
tested. This includes ensuring that the web platform can send control commands to the
quadcopter, receive real-time location data, and update the delivery status.
End-to-End Testing: The entire workflow, from order placement on the website to the
quadcopter performing the delivery, is tested. This ensures that all components interact
seamlessly and that the system performs as expected under various scenarios.
System testing involves testing the entire integrated system to ensure it meets the specified
requirements. This stage includes functional testing, performance testing, security testing, and
user acceptance testing.
Functional Testing: All functionalities of the system, such as user registration, order placement,
real-time tracking, and notifications, are tested to ensure they work correctly and meet the
requirements.
Performance Testing: The system's performance is evaluated under different loads to ensure it
can handle high traffic and multiple concurrent deliveries without degradation. This involves
testing the response times, throughput, and resource usage of the web platform and the
quadcopter's control system.
Security Testing: The system is tested for vulnerabilities to ensure it is secure against potential
threats. This includes testing for common security issues such as SQL injection, cross-site
scripting (XSS), and ensuring secure data transmission between the web platform and the
quadcopter.
User Acceptance Testing (UAT): Real users test the system to ensure it meets their needs and is
easy to use. Feedback from users is used to make necessary adjustments and improvements
before the final deployment.
Identifying potential risks and developing contingency plans is critical for the successful
completion of the Arduino-based quadcopter delivery system project. This section outlines the
major risks and the corresponding strategies to mitigate them.
Technical Risks
Timeline Delays: Delays in the project timeline can occur due to unforeseen technical
challenges or resource constraints. This risk is mitigated by developing a detailed project
plan with realistic milestones and by regularly reviewing progress to identify and address
potential delays early.
Resource Allocation: Inadequate allocation of resources, such as manpower, budget, or
equipment, can hinder project progress. To mitigate this risk, a thorough feasibility study
is conducted to ensure adequate resource allocation, and contingency plans are developed
to address potential shortages.
Operational Risks
Safety Concerns: The operation of the quadcopter involves safety risks, such as
collisions or crashes. This risk is mitigated by implementing strict safety protocols,
conducting thorough testing, and ensuring that the quadcopter is equipped with fail-safe
mechanisms.
Environmental Factors: Weather conditions or obstacles in the delivery zone can affect
the quadcopter's performance. This risk is mitigated by developing a robust navigation
system that can handle varying conditions.
Contingency Plans
Backup Systems: Backup systems and components are maintained to quickly address
hardware failures or malfunctions.
Redundancy: if possible redundant systems, such as additional GPS modules or
communication channels, are implemented to ensure continued operation in case of
component failure.
Regular Reviews: Regular project reviews and risk assessments are conducted to
identify new risks and update contingency plans as needed.
Training and Documentation: Team members are trained on risk management
practices, and detailed documentation is maintained to ensure that everyone is aware of
potential risks and the corresponding mitigation strategies.
By proactively identifying potential risks and developing comprehensive contingency plans, the
project team can minimize disruptions and ensure the successful completion of the Arduino-
based quadcopter delivery system project.
CHAPTER TWO
In Ethiopia, the existing delivery system primarily relies on traditional methods such as motor
bicycles, cars, and on-foot couriers. These methods are widely used due to their simplicity and
the established infrastructure supporting them. However, they face several challenges, including
inefficiencies, delays, requiring more human power, and limited reach in remote areas. While
drone delivery services have been gaining traction globally, such advanced systems are not yet
prevalent in Ethiopia.
The traditional delivery system in Ethiopia encompasses various modes of transportation. Motor
bicycles are commonly used for quick and short-distance deliveries, particularly within urban
areas. Cars are employed for longer distances and larger parcels. On-foot couriers are often used
for intra-city deliveries, especially in congested areas where vehicle access is limited. The postal
service, a key player in the country's delivery ecosystem, often requires customers to physically
present packages for delivery.
While Ethiopia primarily uses traditional methods, it's important to acknowledge the global
advancements in delivery services. Companies like Amazon, Google, and DHL have been
pioneering drone delivery systems, aiming to provide faster and more efficient services. These
systems leverage GPS navigation, automated flight control, and real-time tracking to overcome
the limitations of ground-based transportation. However, these innovations are still in early
stages of adoption and are not widely or entirely implemented in Ethiopia.
Understanding the major functions and activities in Ethiopia's existing delivery systems provides
insight into the operational challenges and opportunities for innovation. These traditional
systems involve several key functions and activities, from order processing and package
handling to navigation and delivery execution.
Order Processing
Order processing in Ethiopia's traditional delivery systems involves receiving orders through
various channels, including phone calls and physical submissions at postal offices.
Key Activities
Order Reception: Orders are typically received via phone calls, where customers
provide delivery details, or through physical visits to delivery service providers like the
postal office.
Verification: Details such as customer information, delivery address, and package
contents are verified to ensure accuracy and feasibility.
Packaging: Packages are prepared for delivery, ensuring they are securely packed to
withstand transportation.
Package Handling
Package handling encompasses the physical management of parcels from the point of order to
the delivery vehicle.
Key Activities:
Sorting: Packages are sorted based on destination, size, and priority, often manually due
to the lack of automated systems.
Labeling: Packages are labeled with delivery addresses and tracking numbers (if
available).
Storage: Temporarily storing packages in a warehouse or distribution center before
dispatch, typically in conditions that protect them from damage and theft.
Navigation
Navigation in traditional delivery systems is primarily based on human drivers and couriers who
use maps and local knowledge to reach their destinations.
Key Activities
Route Planning: Routes are planned based on traffic conditions, distance, and delivery
urgency. This is often done manually by the driver or courier.
Navigation Tools: Basic tools like printed maps or GPS on smartphones are used for
navigation, but real-time traffic updates are rarely utilized.
Monitoring: There is minimal real-time monitoring of delivery progress, making it
difficult to provide accurate delivery time estimates to customers.
Delivery Execution
The final stage involves transporting the package to the recipient and ensuring proper handover.
Key Activities
By analyzing these existing functions and activities, we can identify areas for improvement and
innovation in our project. This understanding will help us design a more efficient, reliable, and
user-friendly Arduino-based quadcopter delivery system, which addresses the current limitations
and enhances the overall delivery experience in Ethiopia.
In the traditional delivery system in Ethiopia, various stakeholders play crucial roles in ensuring
the smooth operation of package delivery. These players include the customers, delivery
personnel, dispatchers, and service providers, each with specific responsibilities and interactions
that collectively maintain the delivery process.
Customers
Delivery Personnel
Package Collection: Delivery personnel, including motorbike riders, car drivers, or on-
foot couriers, collect packages from the dispatch center or directly from customers.
Transporting Packages: They transport packages to the specified delivery addresses,
navigating through traffic and varying road conditions.
Handover: Upon reaching the destination, they hand over the package to the recipient,
ensuring proper documentation of the delivery.
Communication: Delivery personnel may need to communicate with customers or
dispatchers to confirm delivery details or resolve issues encountered during the delivery
process.
Dispatchers
Order Management: Dispatchers receive and manage delivery orders, verifying details,
and assigning them to delivery personnel based on location, priority, and available
resources.
Route Planning: They plan efficient delivery routes to minimize travel time and fuel
consumption, often considering current traffic conditions.
Coordination: Dispatchers coordinate with delivery personnel, providing instructions
and support to address any challenges during delivery.
Tracking and Monitoring: They track the progress of deliveries, ensuring timely
completion and addressing any delays or issues that arise.
Service Providers
Business rules in the traditional delivery system govern the interactions, processes, and
operations to ensure efficiency, consistency, and compliance. These rules are designed to
manage customer expectations, streamline operations, and maintain service quality.
Order Acceptance
Payment Terms
Payment must be made either at the time of order placement or upon delivery, based on
the service provider’s policy.
Accepted payment methods may include cash, mobile money, or bank transfers.
Package Handling
Delivery Scheduling
Deliveries are scheduled based on a first-come, first-served basis, with priority given to
urgent or high-priority orders.
Estimated delivery times are provided but are subject to change based on traffic and other
conditions.
Recipient Verification
Operational Rules
Delivery vehicles must be maintained in good working condition and comply with safety
regulations.
Routes are planned to optimize efficiency, considering factors such as distance, traffic,
and delivery priority.
Customer Service
Service providers must address customer inquiries and complaints promptly and
effectively.
Policies for refunds, returns, and compensation for lost or damaged packages must be
clearly defined and communicated to customers.
By understanding these players and business rules, we can identify opportunities to improve the
traditional delivery system through our innovative Arduino-based quadcopter delivery system.
The traditional delivery system in Ethiopia faces several bottlenecks that hinder its efficiency,
reliability, and customer satisfaction. These bottlenecks are critical challenges that need to be
addressed to improve the overall delivery process. The key bottlenecks include:
Manual Processes
The reliance on manual order placement methods, such as phone calls and in-person visits, leads
to inefficiencies and delays. Manual entries can result in errors and miscommunications. Lack of
a centralized system to manage orders often causes confusion and missed deliveries.
Traditional delivery systems often lack real-time tracking features, making it difficult for
customers and service providers to monitor the status and location of packages. This limitation
leads to uncertainty and frustration among customers, especially when there are delays.
Transportation Challenges
Traffic Congestion
Urban areas in Ethiopia, particularly Addis Ababa, experience significant traffic congestion,
causing delays in delivery times. Delivery vehicles, such as motorbikes and cars, are frequently
caught in traffic jams, reducing the overall efficiency of the delivery process.
Infrastructure Issues
Poor road conditions in many areas make it difficult for delivery personnel to navigate and reach
their destinations on time. In rural areas, the lack of proper infrastructure poses additional
challenges for timely and reliable deliveries.
Traditional delivery services often operate within restricted zones due to logistical constraints,
limiting their reach and accessibility. Customers outside these zones face difficulties in accessing
delivery services.
Operational Inefficiencies
Resource Management
Inadequate packaging and handling practices result in damaged goods, leading to customer
dissatisfaction and increased returns. Security concerns, such as package theft or loss, are
prevalent due to insufficient tracking and monitoring mechanisms.
Limited communication channels between customers and service providers result in poor
customer support and unresolved inquiries. Delays in addressing customer complaints and issues
impact the overall service quality.
Traditional cash-on-delivery methods pose risks of fraud and non-payment. Lack of digital
payment options limits convenience for customers.
By identifying these bottlenecks, it becomes evident that significant improvements are necessary
to enhance the traditional delivery system in Ethiopia. Addressing these challenges through
innovative solutions can lead to a more efficient, reliable, and customer-centric delivery service.
To overcome the challenges and bottlenecks in the traditional delivery system, we propose an
innovative solution that integrates an Arduino-based quadcopter for delivery services with a
comprehensive website for order management. This solution leverages advanced technology to
enhance efficiency, reliability, and customer satisfaction. The key components and features of
the proposed solution include:
Utilizing an Arduino-based quadcopter for deliveries can significantly reduce the impact
of traffic congestion and poor road conditions. The quadcopter can navigate directly to
delivery destinations, avoiding ground-level obstacles.
The quadcopter’s automated navigation system ensures efficient and timely deliveries,
especially in urban areas with heavy traffic.
The quadcopter is equipped with GPS and real-time tracking capabilities, allowing
customers and service providers to monitor the delivery status and location of packages.
Live tracking information enhances transparency and provides customers with accurate
delivery times.
The quadcopter can reach areas that are typically inaccessible or challenging for
traditional delivery vehicles, expanding the service’s delivery zones.
Rural and remote areas can benefit from reliable delivery services, improving
accessibility and convenience for customers.
Comprehensive Website for Order Management
User-Friendly Interface
The website offers a user-friendly interface for customers to easily place orders, track
deliveries, and manage their accounts.
Customers can register and log in to view their order history, estimated delivery times,
and receive notifications about their deliveries.
The website allows customers to place orders online, specifying pick-up and drop-off
locations, and providing all necessary details.
Orders are centrally managed, reducing errors and improving efficiency. The system
assigns orders to the quadcopter and tracks their progress in real-time.
Customers receive notifications at every major stage of the delivery process, including
order confirmation, dispatch, and delivery. This ensures transparency and keeps
customers informed.
The system sends email notifications to customers when their packages have been
successfully delivered.
Admins can manage registered users, view placed orders, track order history, confirm
payments, monitor deliveries, and manage delivery zones.
Pilots can track the quadcopter’s position, receive pick-up and destination information,
monitor battery status, and access live camera feeds for better control over the delivery
process.
Payment Integration
The website includes a secure payment platform, allowing customers to pay delivery fees
online using various payment methods. This reduces the risks associated with cash-on-
delivery and enhances convenience.
Customers can provide feedback on their delivery experience, helping to improve service
quality.
The website offers customer support to address inquiries and resolve issues promptly.
Additional Features
The system includes functionalities such as scheduling deliveries, checking drone
delivery zones, verifying payload weights, and viewing delivery fees.
Functional requirements describe the specific behavior and functions of the system. They define
what the system should do, how it should respond to inputs, and the outputs it should produce.
The functional requirements for the proposed system include:
User Registration
The system must allow customers to create an account by providing their email address
and other necessary information.
Customers must be able to log in and manage their account details.
Order Placement
Customers must be able to place delivery orders by specifying pick-up and drop-off
locations.
The system should provide an interface for customers to input package details, including
weight and delivery instructions.
Order Tracking
The system must provide real-time tracking of the quadcopter and the delivery process.
Customers should be able to view the current location of the quadcopter and estimated
delivery time.
Admin Dashboard
The system must include an admin panel for managing registered users, viewing placed
orders, and accessing order history.
Admins should be able to confirm payments, track deliveries, and monitor the
quadcopter’s status.
Notification System
The system must send notifications to customers at key stages of the delivery process,
such as order confirmation, dispatch, and delivery.
Email notifications should be sent to customers when their packages have been delivered.
Payment System
The system must integrate a secure payment platform that allows customers to pay for
delivery services online.
The system should support various payment methods and confirm payment status to the
admin.
Admins must be able to define and modify delivery zones based on the quadcopter’s
operational range.
The system should check if a delivery address falls within the defined delivery zone and
notify customers accordingly.
Weight Verification
The system must include a method for customers to input the weight of their package.
If the package weight exceeds the quadcopter’s maximum payload capacity, the system
should notify the customer that the delivery cannot be performed.
Scheduling Deliveries
Customers must be able to schedule deliveries for specific dates and times.
The system should display a list of scheduled deliveries to the admin and pilot.
Feedback Mechanism
The system must allow customers to provide feedback on their delivery experience.
Feedback should be accessible to the admin for service improvement.
Pilot Functionalities
Pilots must be able to track the quadcopter’s position and receive pick-up and drop-off
information.
The system should provide live camera feed access to the pilot for better control during
the delivery process.
Performance
The system must handle multiple user registrations and orders simultaneously without
significant performance degradation.
Real-time tracking and updates should be provided with minimal latency to ensure
accurate delivery information.
Scalability
Security
The system must ensure the security of user data, including personal information and
payment details.
Secure authentication mechanisms should be implemented to prevent unauthorized access
to user accounts and the admin dashboard.
Reliability
Usability
The user interface must be intuitive and user-friendly, enabling customers to easily
navigate the website and place orders.
The admin and pilot interfaces should be designed for efficient management and
operation.
Compatibility
The system should be compatible with various devices and browsers, ensuring a seamless
experience for users on different platforms.
Integration with GPS and payment systems must be smooth and reliable.
Maintainability
The system should be designed for easy maintenance and updates.
Clear documentation and modular design practices should be followed to facilitate future
enhancements and troubleshooting.
The system must comply with relevant data protection and privacy laws.
Delivery operations should adhere to local regulations and guidelines for drone usage and
commercial deliveries.
By addressing both functional and non-functional requirements, the proposed system will be
well-equipped to deliver an efficient, reliable, and user-friendly delivery service using the
Arduino-based quadcopter and the comprehensive website.
CHAPTER THREE
SYSTEM ANALYSIS
Field Description
This use case allows customers, admins, and pilots to log in to the
Description
website.
Field Description
This use case allows a customer to place a delivery order by specifying
Description
pick-up and drop-off locations and other relevant details.
The customer must be logged in and have access to the order placement
Precondition
page.
1. The customer navigates to the order placement page.
2. The system prompts the customer to enter order details (pick-up
location, drop-off location, package details, etc.).
Basic Course of 3. The customer enters the required details and submits the order form.
Action 4. The system validates the information and calculates the delivery fee.
5. The customer confirms the order and completes the payment.
6. The system creates the order and sends a confirmation notification to the
customer.
3a. The customer provides invalid or incomplete details:
3a1. The system displays an error message and prompts the customer to
correct the details.
Alternative
3a2. The customer corrects the details and resubmits the form.
Action
5a. The payment fails:
5a1. The system displays an error message and prompts the customer to
retry the payment.
The order is successfully placed, and the customer receives a confirmation
Post Condition
notification.
Field Description
Description This use case allows a customer to view their past delivery orders,
including details and status of each order.
Precondition The customer must be logged in and have access to the order history page.
Post Condition The customer views the details of their past orders.
Field Description
This use case allows customers and admins to track the status and
Description
location of an order in real-time.
Precondition The order must be placed and be in progress. The user must be logged in.
Post Condition The user views the real-time status and location of the order.
Field Description
This use case sends notifications to customers about major events in the
Description
delivery process.
Post Condition The customer receives a notification about the major event.
Field Description
This use case allows the pilot to track the GPS location of the quadcopter
Description
in real-time.
Post Condition The pilot views the real-time location of the quadcopter.
Field Description
Field Description
This use case allows the admin to manage all delivery orders, including
Description
viewing, updating, and deleting orders.
The admin must be logged in and have access to the order management
Precondition
system.
1. The admin navigates to the order management page.
2. The system displays a list of all orders.
Basic Course of
3. The admin selects an order to view detailed information.
Action
4. The admin can update or delete the order as needed.
5. The system saves any changes made by the admin.
4a. The admin attempts to update or delete an invalid order:
Alternative Action 4a1. The system displays an error message and prompts the admin to
correct the action.
Post Condition The order is successfully managed, and any changes are saved.
This use case allows the admin to update the delivery zone for the
Description
quadcopter.
The admin must be logged in and have access to the delivery zone
Precondition
management system.
1. The admin navigates to the delivery zone management page.
Basic Course of 2. The system displays the current delivery zone.
Action 3. The admin updates the delivery zone and submits the changes.
4. The system saves the updated delivery zone.
3a. The admin provides invalid or overlapping delivery zone details:
3a1. The system displays an error message and prompts the admin to
Alternative Action
correct the details.
3a2. The admin corrects the details and resubmits the form.
Field Description
This use case allows the pilot to check the battery status of the quadcopter
Description
in real-time.
Precondition The quadcopter must be operational and transmitting battery status data.
Post Condition The pilot views the real-time battery status of the quadcopter.
Field Description
Description This use case allows the admin to add a new quadcopter to the system.
Field Description
This use case allows the quadcopter to send live camera feed data to the
Description
system.
Post Condition The live camera feed is streamed to the pilot's interface.
Field Description
This use case allows the pilot to view the live camera feed from the
Description
quadcopter.
The quadcopter must be operational and transmitting live camera feed
Precondition
data. The pilot must be logged in.
1. The pilot navigates to the live camera feed page.
Basic Course of
2. The system retrieves and displays the live camera feed from the
Action
quadcopter.
2a. The camera feed is not available:
Alternative Action 2a1. The system displays an error message indicating the feed cannot
be retrieved at this moment.
Post Condition The pilot views the live camera feed from the quadcopter.
This use case allows the quadcopter to send its GPS location to the
Description
system in real-time.
Precondition The quadcopter must be operational and have a functioning GPS module.
Post Condition The real-time GPS location of the quadcopter is updated on the map.
In the context of our Arduino-based quadcopter delivery system, the class diagram will illustrate
the static structure of the system by showing the classes involved, their attributes, operations, and
the relationships among the objects. The class diagram helps in understanding how the different
components of the system interact with each other.
Figure 2. Class diagram
3.2 Dynamic Model
3.2.1 Sequence Diagram
The sequence diagram for our project will depict the sequence of interactions between the
system's objects over time, focusing on the order in which these interactions occur. This diagram
is particularly useful for understanding the flow of messages between different components of
the system in a specific scenario.
Figure 3. login sequence diagram
Figure 4. registration sequence diagram
Figure 5. order placement sequence diagram
Figure 6. update delivery zone sequence diagram
Figure 7. drone tracking sequence diagram
Figure 8. send camera feed sequence diagram
Figure 9. add quadcopter sequence diagram
3.2.2 Activity diagram
An activity diagram will represent the workflow of the system, showing the sequence of
activities and the flow of control from one activity to the next. This is particularly useful for
capturing the dynamic aspects of the system.
A state diagram will show the different states that an object in the system can be in, as well as
the transitions between these states based on events. This is useful for modeling the lifecycle of a
particular object.
Web Platform UI
The web platform UI will be user-friendly and intuitive, guiding users through the process of
placing delivery orders and tracking their packages. Key components of the web platform UI will
include:
Homepage: This will introduce users to the delivery service, providing essential
information and links to login or sign up.
User Dashboard: Once logged in, users will access their dashboard, where they can
place new orders, track existing ones, and view order history.
Order Placement Page: This page will allow users to input delivery details, such as
pickup and drop-off locations, package weight, and desired delivery times. Interactive
maps and address auto-complete features will enhance user experience.
Real-Time Tracking Page: Users can track their deliveries in real-time, viewing the
current location of the quadcopter on a map, estimated time of arrival, and receiving live
updates.
Notifications and Alerts: The system will send notifications via email or SMS regarding
order confirmations, dispatch updates, and delivery confirmations, ensuring users are
always informed.
The UI's behavior is designed to ensure seamless interaction for both users and operators. For
users, the process starts with logging into the platform, where they can easily navigate to
place new orders. The order placement form will guide them through the necessary inputs,
such as pickup and drop-off locations, with interactive maps to assist in location selection.
Once an order is placed, users can switch to the real-time tracking page, where they will see
live updates and an estimated delivery time. Notifications will keep them informed
throughout the delivery process, enhancing their experience.
For operators, the control interface ensures efficient management of the delivery fleet. The
flight control panel provides a comprehensive view of each quadcopter's status, ensuring
operators can respond swiftly to any issues. The delivery management panel offers a
centralized view of all orders, allowing operators to track progress and handle multiple
deliveries simultaneously.