HNC Level 4 Networking Engineering: Self Balanced Robot Report

Verified

Added on  2022/09/28

|13
|2382
|24
Report
AI Summary
This report details a project focused on creating a self-balanced robot using the Arduino IDE and C/C++ programming language. The project aimed to develop a robot capable of autonomous movement from point A to point B, simulating a driverless mail delivery vehicle. The report outlines the project's objectives, equipment used, and the justification for code choices, including discussions on procedural, object-oriented, and event-driven programming paradigms. It describes the programming process, the structure of the Arduino IDE, and the experimental methods used, including screenshots of the coding process. The report concludes with an evaluation of the project's success, recommendations for improvement, and a bibliography of cited sources. The project's success was based on a deep understanding of the project requirements, analyzing any issues, and writing the correct codes for the robots to function as per the project requirement.
Document Page
PROGRAMMING MODULE
66 Castle Street, Bolton, UK, BL2 1AE
Report On Self Balanced Robot in Arduino IDE
Student ID: XXX.XXXXXX
Date: 07th May 2021
Table of Contents
Abstract..........................................................................................................................................2
Declaration....................................................................................................................................2
Introduction...................................................................................................................................3
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
The purpose for the change (aims and objectives)........................................................3
Objectives for the assignment are as next;.......................................................................4
Equipment Used..........................................................................................................................4
Justification of Code choice...................................................................................................................6
Process of programming an application............................................................................................7
The application construction processes:............................................................................................7
Procedural programming characteristics are:....................................................................................8
Object-oriented programming characteristics are.............................................................................8
Implements modularity Encapsulation..........................................................................................8
Passes inheritance "Knowledge" further.......................................................................................8
Polymorphism takes every form....................................................................................................9
Event-Driven Programs' key characteristics:......................................................................................9
Relationship between procedural, object-oriented, and event-driven programming.....................10
Experimental Method Used...................................................................................................10
Evaluation of Project................................................................................................................20
Conclusions..........................................................................................................................................21
Recommendation................................................................................................................................21
Report Appendices..............................................................................................................................22
Bibliography................................................................................................................................23
pg. 1
Document Page
NAME: Student Name
STUDENT NUMBER: XXXXXX
MODULE: PROGRAMMING MODULE
TITLE: Self Balanced Robot
This report is legal to submitting to tutor:
MrGreg Paton
Programming Module lecturer/tutor
Mr Geraldo Tchipenda
Programming Module lab tech/tutor
Abstract
This report has been submitted in order of the requirements for the award of
Programmeming Modulelectured byOrganisational Learning Centre/Tyneside Coast
Collegefor the HNC Level 4 Networking Engineering Course.
Declaration
This work submitted is myown and has not been submitted for any other qualification and
the contributions of others have been acknowledged.
Date: 07thMay2021
pg. 2
Document Page
Introduction.
This report experimentpresents the analytical and demonstration result of using Arduino IDE
programmeming in C/C++ Algorithm Code for self-balanced Robots that move
autonomously from the certain building (point)‘A’ through a building (point) B. The project
work is based on the programmeming of an application for (The driverless vehicle project
for the City Planning Department). The project requires evaluating the road route for the
postal vehicle to transport the mail from building A to B. The building is in a complex which
utilizes driverless vehicles to deliver the mail. According to Hayes (2011), there are
numerous benefits of driverless technology. Based on the project requirements
identification, assessment and amendments are needed to make the driverless vehicles able
to deliver the post via the shortest route between building A to B. Fagnant & Kockelman
(2013) suggested that the result of driverless vehicles adoption can be safer in daily
operations and efficiency of the traffic flow can be improved. To programme the driverless
vehicles to adopt the shortest route possible, multiple processes of coding have been used
and justified in this report. The wide expectations of driverless vehicles are to contribute
considerably to the transformation of means of mobility in the coming years (Anderson et
al., 2014). Hence, the planning of the project is to utilize the potential of the robot to get the
best outcome.
The code is being arranged for Robots with non-issue following the pre-determined course
route.
The purpose for the change (aims and objectives)
The purpose of the change is to utilize the effectiveness of the driverless mail delivery
vehicles and to make them more productive by improving the efficiency to run on the
shorter route.The aim of this laboratory demonstration it is to create the ability to
programme a Robot into Integrated Development Environment (IDE)and programme must
be capable to autonomous perform task taking direction throughout the different point. By
doing this task will being practices, a procedural method for high-level programme
language, event-driven and objected-oriented paradigms, and syntax.Once have reviewed
the source code, will rewriting as an assignment requesting which is make the driverless
pg. 3
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Robot move ina pre-determined direction.The report is in completion of autonomous
vehicle and demonstration video has been taken, showing its performing.
Objectives for the assignment are as next;
 Writing Code in C/C++ algorithms to generate Robot motion code, verify, test,
Debug, Compiler, and Upload into Arduino IDE.
 Define Data Types, Methods (include input/output), Control Structure, Interaction,
Scope, Parameters Passing, Classes, Inheritance, and Events.
 Write Robot Code on Arduino IDE and explain components of IDE.
 Write accordingly Arduino Code allowing Robot performing task motion from certain
building A to B
 Take snapshot from Information Bar as Test diagnostic and result from Serial
Monitoring.
Equipment Used.
Smart Robot car V4.0 with the camera is used in this project to deliver the project
requirement. The smart robot car used in this project is reprogrammed on the Arduino IDE
(integrated development environment) for the delivery of the successful project. Arduino is
a microcontroller open-source that can simply be programmed, deleted, and reprogrammed
at any moment. Introduced in 2005, the Arduino platform was meant to give amateurs,
students, and professionals an affordable and straightforward approach to build devices
with sensors and actuators to interact with their surroundings. It is an open-source
computer platform used to build and programme electrical devices, based on basic
microcontroller boards. It also acts like other microcontrollers as a small computer by
accepting input and regulating outputs for a range of devices (Louis, 2016).
The following are all the elements used in this project:
 PC,
 Arduino IDE
 USB cable
 Self-Balanced Robot Prototype
 C/C++ Algorithms materials
 Different Source Code
pg. 4
Document Page
Figure 1. The Arduino integrated development environment
pg. 5
Document Page
Justification of Code choice
V-model analysing project system has been implemented in this Project and by seeing it as a
fundamental part of Engineering Concept phase. During the Start Phase Project and review
it was provided, Arduino Code which is justified asa very efficient Open-Source Code and
much suitable for to programmme Robot motion to take motion to certain direction.
Figure 2. Application of V-model
An algorithm is a problem resolution process or formula based on the sequence of activities.
An extensive algorithm can be regarded as a computer programme. An algorithm typically
implies a short process in mathematics and computer science that addresses a recurring
issue(Jones, 2005).
pg. 6
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Process of programming an application
Developing a program includes comparable procedures to addressing problems. The
programming process has five key ingredients:
 Define the issue
 Solution Planning
 Program coding
 Program Testing
 Program Documentation
A good understanding of the application procedure is essential for the programmer to be
able to programme the system and deliver a solution to the problem. A programmer also
needs an understanding of programming expertise, such as C#, Java, etc, to create any kind
of application. should also have strong knowledge of the application procedure.
The application construction processes:
The Arduino program code is known as a diagram. The software used to generate such
Arduino sketches is often referred to as the Arduino IDE. The following parts are included in
this IDE:
Text Editor: This may be used to write the simplified code using a simplified C++ language
version.
Message area: shows error and feedback on the code saving and exporter.
Text: The console displays Arduino text output with full error and other information
Java is mainly object-oriented up to today and is a code of procedure that was utilized to
develop. The langue C is an example of object-oriented programmings (OOP), purely
procedural language such as C++, C#, and Java. Procedures are a list or collection of
instructions that teach your computer what to do step by step and how to do it from the
pg. 7
Document Page
first to the second code. It is the consequences and instructions in a systemic order (Yeager,
D.P., 2012).
Procedural programming characteristics are:
1. The procedure programming is top-down.
2. The software is structured into blocks of codes called functions that execute a
certain purpose for each function.
3. Real-world processes are modeling procedural programs as processes working on
data.
4. The data and functions are separated.
5. In a program, the data travels freely.
6. The logic of a program can be easily followed.
7. By invoking this function, a function can access other function data.
Object-oriented programming characteristics are
In object-based programming, three key aspects distinguish them from non-OOP:
encapsulations, heritage, and polymorphism.
Implements modularity Encapsulation
Encapsulation refers to the development of self-contained modules binding processing to
the data. These user-defined kinds of data are called "classes" and a class example is an
"object."
Passes inheritance "Knowledge" further
Classes in hierarchies are established and heritage permits the hierarchy to pass on
structures and procedures in one class. This means that the addition of functions to
complicated systems requires less code.
pg. 8
Document Page
Polymorphism takes every form
Procedures can be developed using object-oriented programming that has no exact type
until runtime. For example, depending on the program mode, a screen pointer can alter its
form from arrow to line.
Today, the prominent object-oriented languages include C++, C#, Java, JavaScript, Visual
Basic.NET, and Python. This contrasts the fundamental terminology of OOP with
conventional programming.
Event-Driven Programs' key characteristics:
Focused on service: Service-oriented is a paradigm of programming used to develop
services' applications.
1. Functioning time
2. Managers of events
3. Functions to trigger
4. Mouse: keyboard and user interface events
5. Functions pre-defined
6. Variables in local areas
7. Passing parameter
pg. 9
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Relationship between procedural, object-oriented, and
event-driven programming
The link between programming paradigm and resource usage has been explored by several
relevant research such as (Barnes and Hopkins, 2003; Da Penha et al., 2005; Chatzigeorgiou,
2003; and Harrison et al., 1996). Barnes and Hopkins (2003) found that, compared with the
implementation of the Imperative (structured) programming paradigm, Object-oriented
implementation took more memory and processor time, but it was more simple to program
and implement the object-orientated programming paradigm compared to implementing
the system by using the Imperative (Structured) programming paradigm. According to Da
Penha et al., (2005) Comparisons were done using sequential and parallel image
convergence in the programming paradigms, like the object-oriented and procedural
programming paradigms. The apps were developed using programming languages Java and
C++. They discovered that the programming paradigm Object-Oriented takes more time to
reply than the programming paradigm Imperative (Procedural).
Experimental Method Used.
The experiments used in this project are demonstrated in the form of the screenshot to
provide transparency of the technical work conducted in this project. To make the process
clear for the reader each function coding is described with a heading. Self-Balanced move
autonomous from certain building A to building, that distance is calculated with time.
pg. 10
Document Page
Conclusions
In the light of the above-discussed facts about the project and the evaluation of the project.
The project was based on the Arduino IDE and the language used is C++ for the robot. It has
been found that the driverless mail vehicle project has been successful, few errors occurred
during the project life cycle but it was dealt with carefully by analyzing the problem and
placing the correct codes to make the robot function as per the project requirement. The
project lasted 10 weeks which includes several steps to deliver the project successfully. The
overall success of the project was based on understanding the project requirements well,
analyzing the problems in time, writing the correct codes for the robots, run the tests to
analyze any ongoing issues, and final is to deliver the project successfully.
Recommendation
1. Recalculate PID control values for proportional, Integral and derivative gain.
2. Recalculate superposition value.
3. Introduce mechanical suspension into the robot wheels.
Bibliography
1. Anderson, J.M., Kalra, N., Stanley, K.D., Sorensen, P., Samaras, C., Oluwatola., O.A.,
2014. Autonomous Vehicle Technology: A Guide for Policymakers. RAND Coorperation,
Santa Monica, CA.
2. Barnes, D. and Hopkins, T., 2003. The impact of programming paradigms on the efficiency of
an individual-based simulation model. Simulation Modelling Practice and Theory, 11(7-8),
pp.557-569.
3. Chatzigeorgiou, A., 2003. Performance and power evaluation of C++ object-oriented
programming in embedded processors. Information and software Technology, 45(4), pp.195-
201.
4. Da Penha, D.O., CorrĂȘa, J.B., Ramos, L.E., Pousa, C.V. and Martins, C.A., 2005, April.
Performance evaluation of programming paradigms and languages using multithreading on
digital image processing. In Proceedings of the 4th WSEAS International Conference on
Applied Mathematics and Computer Science (p. 12).
pg. 11
chevron_up_icon
1 out of 13
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]