Download as pdf or txt
Download as pdf or txt
You are on page 1of 150

Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

TU DUBLIN BLANCHARDSTOWN

SCHOOL OF INFORMATICS AND ENGINEERING

DESIGN AND DEVELOPMENT OF TOPOLOGICAL OPTIMIZED 3


DOF ANTHROPOMORPHIC ROBOTIC MANIPULATOR

by

Mikolaj Iwaniec

A report submitted in partial fulfilment of the


requirements for the degree

BACHELOR OF ENGINEERING (HONOURS) IN MECHATRONICS

SUPERVISOR: WAQAS SALEEM


SUBMISSION DATE: 14/12/2022
1|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

ABSTRACT

This project designs and develops three degrees of freedom (3DOF) topology-optimized
anthropomorphic robotic arm. It is based on the currently available worldwide articulated
robot, comprised of three revolute joints, used in the industry for numerous applications,
ranging from the medical industry to simple stacking operations.
The project is designed to mimic simple pick and place operation on the factory floor,
using one of three modes: automatic, manual, and dial control, with the automatic mode
being intended to operate the robotic manipulator. An infrared gravity adjustable sensor
indicates whether an item is present, therefore, the robotic arm moves from the work
location to a storage location. Switch mode prompts the robotic arm to the position with a
simple flip of a switch; in case of a faulty sensor or the workpiece being in a different
position than the work location, a potentiometer allows the user to operate the robot arm
freely. The topology-optimized design reduced the overall mass of the robotic
manipulator while maintaining its mechanical performance, structural integrity, and
stability. A smoothing filter is applied to the potentiometer controller to filter out the
rapid changes in ADC values and minimize the noise on the overall system.

i|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

ACKNOWLEDGEMENTS
I would like to take this opportunity to thank my supervisor, as well as other staff,
supervisors, and students, for their help throughout the project, without whom this project
could not have been completed. Waqas Saleem provided me with helpful advice,
suggestions, and the material necessary throughout the development of this project.

ii | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

DECLARATION

The work submitted in this report is the result of the candidate's investigations and has
not been submitted for any other award. Other people's support and work are fully
acknowledged and referenced.

Student Name

__________________

iii | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

ABSTRACT...................................................................................................................................... i
LIST OF ABBREVIATIONS ......................................................................................................... vi
LIST OF FIGURES ....................................................................................................................... vii
LIST OF TABLES .......................................................................................................................... ix
1. Chapter 1 Introduction ................................................................................................................. 1
1.1 Problem ................................................................................................................................. 1
1.2 Background ........................................................................................................................... 2
1.3 Scope and Objectives............................................................................................................ 2
1.4 Document Overview ............................................................................................................. 3
2. Literature Review......................................................................................................................... 5
2.1 Existing Technologies .......................................................................................................... 5
2.2 Four Main Types of Robot Geometry................................................................................. 10
2.3 Topology Optimization....................................................................................................... 14
2.4 End Effector Modules: ........................................................................................................ 20
2.5 Joint Movement .................................................................................................................. 22
2.6 Microcontroller ................................................................................................................... 28
2.7 Kinematics .......................................................................................................................... 31
3. Materials and Methods ............................................................................................................... 34
3.1 Project Block Diagram ....................................................................................................... 35
3.2 Software Flowcharts ........................................................................................................... 36
3.3 Reading Potentiometer Data ............................................................................................... 42
3.4 Project CAD Design ........................................................................................................... 50
3.5 Project Build ....................................................................................................................... 52
3.6 Arduino Software................................................................................................................ 63
3.7 Materials & Methods .......................................................................................................... 65
4. Results and Discussion .............................................................................................................. 68
4.1 Topology Optimization....................................................................................................... 68
4.2 Smoothing filter .................................................................................................................. 83
4.3 3D Printing ......................................................................................................................... 85
4.4 Matlab kinematics simulation ............................................................................................. 87
5. Conclusions and Recommendations .......................................................................................... 91
5.1 Conclusions ........................................................................................................................ 91
5.2 Recommendations............................................................................................................... 93
REFERENCES .............................................................................................................................. 95
iv | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Appendix A Project Planning .......................................................................................................... 1


Appendix B Design Drawings & Component Specifications .......................................................... 1
Appendix C List of Software Code ................................................................................................ 11
Appendix D Relevant Standards ...................................................................................................... 1
Appendix E Other Technical or Data Appendices ........................................................................... 1

v|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

LIST OF ABBREVIATIONS

RPM Revolutions Per Minute

IR Infrared

PWM Pulse Width Modulation

ADC Analog-To-Digital-Converter

DC Direct Current

RAM Random Access Memory

PC Personal Computer

DOF Degree Of Freedom

IoT Internet of Things

PID Proportional Integral Derivative

FEA Finite Element Analysis

DH Denavit Hartenberg

SCARA Selective Compliance Assembly Robot Arm

PUMA Programmable Universal Machine for Assembly

IDE Integrated Development Environment

DIP Dual In-line Package

LCD Liquid Crystal Display

I2C Inter-Integrated-Circuit

GND Ground

UNC Unified National Coarse

TCP Tool Center Point

CNC Computer Numerical Control

3D Three-Dimensional
vi | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

LIST OF FIGURES
Figure 1. 3DOF Robot Arm ...................................................................................................................................................... 1
Figure 2. Workflow Diagram.................................................................................................................................................... 4
Figure 3. Revolute joint [4] ....................................................................................................................................................... 6
Figure 4. Prismatic joint [4] ...................................................................................................................................................... 6
Figure 5. SCARA robot configuration ..................................................................................................................................... 8
Figure 6. PUMA 560 configuration [10]................................................................................................................................... 9
Figure 7. PUMA 260 Figure 8. PUMA 560 Figure 9 PUMA761/762 [9]. ................................. 9
Figure 10. Epson Cartesian Robot configuration [14]. ......................................................................................................... 10
Figure 11. Rectangular work envelope configuration [16]. .................................................................................................. 11
Figure 12. Cylindrical work envelope configuration ............................................................................................................ 12
Figure 13. Spherical work envelope configuration ............................................................................................................... 13
Figure 14. Joined spherical work envelope configuration. ................................................................................................... 14
Figure 15. Process of Topology Optimization........................................................................................................................ 15
Figure 16. Determining a threshold for the element density [20]......................................................................................... 17
Figure 17. Determining minimum allowable density [20]. ................................................................................................... 17
Figure 18. Generative design vs TO aerodynamic shape in 3D [21]. ................................................................................... 19
Figure 19. Benefits of TO a part [22]. .................................................................................................................................... 20
Figure 20. Diagram of the joint movement for the robotic manipulator ............................................................................. 23
Figure 21. Servo motor MG996R integrated within the project .......................................................................................... 23
Figure 22. Free Body Diagram of the robotic arm ................................................................................................................ 25
Figure 23. PCA9685 Motor control board used to power and drive the motors. ............................................................... 27
Figure 24. Rotary linear potentiometer 10K Ohm, 20% tolerance ..................................................................................... 27
Figure 25. Gravity Adjustable IR sensor ............................................................................................................................... 28
Figure 26. Arduino UNO......................................................................................................................................................... 29
Figure 27. Arduino Mega2560 Microcontroller .................................................................................................................... 29
Figure 28. Right-hand Rule .................................................................................................................................................... 33
Figure 29. Prototype of the Robotic Manipulator ................................................................................................................. 34
Figure 30. Block Diagram of the Overall system................................................................................................................... 35
Figure 31. Void Loop Flow Chart .......................................................................................................................................... 37
Figure 32. Auto Mode Flow Chart ......................................................................................................................................... 38
Figure 33. Manual Mode Control Flow Chart ...................................................................................................................... 40
Figure 34. Pot Control Mode Flow Control ........................................................................................................................... 41
Figure 35. Code to obtain Pot Data Figure 36. Potentiometer Data .................................................................. 43
Figure 37. Code to obtain map Potentiometer Data.............................................................................................................. 44
Figure 38. ‘Mapped’ Potentiometer Data .............................................................................................................................. 45
Figure 39. Code to control servo motors Figure 40. Potentiometer Data .................................................................... 46
Figure 41. Code for smoothing the ADC values .................................................................................................................... 48
Figure 42. Potentiometer ADV values after applying the smoothing filter. ........................................................................ 49

vii | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 43. CAD project design ............................................................................................................................................... 50


Figure 44. Initial Robot arm build ......................................................................................................................................... 52
Figure 45. Bottom Platform of the project............................................................................................................................. 53
Figure 46. The bottom part of the base design ...................................................................................................................... 54
Figure 47. The top plate of the base design ............................................................................................................................ 55
Figure 48. Base link of the robot arm .................................................................................................................................... 56
Figure 49. First Link of the robot arm ................................................................................................................................... 57
Figure 50. The second link of the robot arm ......................................................................................................................... 58
Figure 51. Gripper Module – Standard gripper kit A .......................................................................................................... 59
Figure 52. The final design of the base ................................................................................................................................... 60
Figure 53. The final design of the top plate ........................................................................................................................... 60
Figure 54. ‘L’ bracket design .................................................................................................................................................. 61
Figure 55. Final Assembly of the project ............................................................................................................................... 62
Figure 56. state selection parameters ..................................................................................................................................... 64
Figure 57 Fixed regions ........................................................................................................................................................... 69
Figure 58. Gravity constraint ................................................................................................................................................. 70
Figure 59. Pressure constraint ............................................................................................................................................... 71
Figure 60. Pressure constraint ................................................................................................................................................ 71
Figure 61. Failed topology-optimized part ............................................................................................................................ 73
Figure 62. Results of topology-optimized part ...................................................................................................................... 74
Figure 63. Smoothed mesh of the part ................................................................................................................................... 75
Figure 64. The final design of the first link ............................................................................................................................ 76
Figure 65. Fixed regions of Link 2.......................................................................................................................................... 77
Figure 66. Link 2 external load – gravity............................................................................................................................... 78
Figure 67. Outer shaft cavity Figure 68. Inner shaft cavity .......................................................................... 78
Figure 69. Force external load ................................................................................................................................................ 79
Figure 70. Second Link ready for TO .................................................................................................................................... 81
Figure 71. Results of topology-optimized part ...................................................................................................................... 82
Figure 72. Topology optimization steps for link 2 ................................................................................................................. 82
Figure 73. Results for potentiometer values with no filter ................................................................................................... 84
Figure 74. Results with smoothing filter applied................................................................................................................... 85
Figure 75. The failed top plate of the base ............................................................................................................................ 86
Figure 76. Failed first link Figure 77. Failed base ................................................................................................. 87
Figure 78. Joint frame representation ................................................................................................................................... 88
Figure 79. Forward kinematics model ................................................................................................................................... 89
Figure 80. Forward kinematics 180° rotation around the base ............................................................................................ 90
Figure 81. Forward kinematics 90° rotation around the shoulder ...................................................................................... 90

viii | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

LIST OF TABLES

Table 1. MG996R Specifications ................................................................................................ 24


Table 2. Specifications of the robotic arm ................................................................................. 25
Table 3. Arduino Mega2560 Specifications .............................................................................. 30
Table 4. Mechanical properties Al 6061 vs EN 31 Steel ........................................................... 65
Table 5. Mechanical properties of PLA ..................................................................................... 66
Table 6. Mechanical Properties of PLA ..................................................................................... 68
Table 7. Results of external Loads link 1 ................................................................................... 72
Table 8. Results of external Loads link 2 ................................................................................... 80
Table 9. Overview of part weight reduction .............................................................................. 83
Table 10. DH Table ...................................................................................................................... 88

ix | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

1. Chapter 1 Introduction

This chapter briefly introduces the problem, the background information, the scope, the
objectives, and the document overview.

1.1 Problem
This project is based on the concept of a three-revolute joint (3R) Robot, which uses
kinematics. The robotic manipulator performs the task of a pick-and-place robot.

There are already many models of robots that vary in design, and the number of degrees of
freedom, to their appliance in the industry. This report focuses on picking and placing robot
appliances. The robot consists of a rotating base allowing for human-like waist movement.
The base of the first link is mounted on top of the base allowing for the connection of the
following two links. The gripper module is mounted at the end of the second link allowing
the clamping and releasing of an object. The movement of the system is accomplished
through servo metal geared servo motors.

Figure 1. 3DOF Robot Arm

1|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

1.2 Background
Robots and humans share some standard features. The robotic arm's structure resembles
human arms. The human body's bones correspond to robot arm links. The parts of the
human body that can move freely, such as the shoulder, elbow and wrist are called joints.

Together, the components create a programmable robotic arm consisting of two or more
links connected by joints in a kinematic chain. Each joint is a motor providing rotational
or linear displacement. The number of linkages in the structure defines degrees of freedom
(DOF) [2]. Over the last decade, automated robotic systems in industrial environments
have increased exponentially and said robots have significantly increased precision. Over
the years, efficiency, reliability, and safety factors have allowed the connection of
embedded systems, sensors, and networks. In addition, they have allowed the exchange of
data among networks.

Automated robots have improved safety and eliminated hazards associated with dangerous
work environments, as humans were taken out of harmful zones. These are designed to
work in a compact environment using lightweight and durable components designed to
work under applied loads and constraints.

1.3 Scope and Objectives


The project's objective is to design a 3DOF robot manipulator in SolidWorks with
Topology Optimization and import the design for 3D printing. By selecting the appropriate
material and design constraints in the software, the robot’s overall weight is reduced while
maintaining its mechanical properties. The simplistic version of this robot picks up an
object from a workplace location and places it at a storage location. This is achieved by
selecting a suitable end effector configured with the robotic arm that clamps and releases
the object.

The system is simulated in MATLAB Software using the Robotics toolbox provided by
Peter Corke and SimulIDE. The robot's movement was achieved by mapping the ADC
values drawn from the servo motors. It was also re-ranged so that the arm direction does

2|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

not extend beyond the work platform. To select the correct motor specifications,
calculations were made for forces, moments, power, and torque. Components were then
integrated into the Arduino Mega256. The robotic arm uses an external power supply unit
apart from the Arduino to ensure that tasks are carried out in a controlled environment,
making the robotic manipulator portable.

1.4 Document Overview


In the upcoming chapters, the focus will be on researching the projects that have already
been implemented by others (SCARA and Puma560 robots in particular), the technologies
used to obtain a final design that fits the criteria of being light and performing well under
given design constraints, as well as the materials, manufacturing, and mathematical
methods to obtain a successful simulation.

Articulated robots in the manufacturing industry have significantly improved factory


productivity, and they are efficient at performing repetitive tasks (something humans
dislike). Individual parts are designed in SolidWorks software. After 3D modelling, FEA
analysis was performed to test the strength of the components, apply fixtures, and add
payloads. FEA analysed the impact of applied force on the individual components. Based
on this information, some goals and constraints concerning the part can be determined. For
example, whether an increased safety factor is necessary or whether the material is further
reduced. After these are established, the mesh sections are removed from the part and the
unnecessary materials are removed. After that, topology optimization (TO) is performed
on each component to reduce weight, and the final file is saved as an STL and imported
into the 3D printer for manufacturing.

MATLAB simulations are initially using theoretical Denavit-Hartenberg parameters.


These calculations describe the manipulator's forward and inverse kinematic equations. A
robotic toolbox plugin simulates the 3D robotic arm (like PUMA560). After successful
simulation, electric components are designed. To ensure that the robot contains some way
of ensuring linearity of the components, motors with encoders have been suggested. The
remote control is achieved using linear potentiometers.
3|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

The manipulator should be able to run in auto mode, where the robotic arm works
continuously if the workpiece is present at the correct location. Remote control
implementation is also planned within the project's scope. The linear potentiometers would
control three separate motors. ArduinoIDE software is used to program the robot to an
Arduino Mega256.

Figure 2. Workflow Diagram

4|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

2. Literature Review

This section provides insight into current technologies available to develop and build a
three-degree-of-freedom robotic manipulator. Research for this project is vital to
understanding current robotic arms configurations. In addition, it is vital in understanding
the techniques required for the integration of the components of the system.

2.1 Existing Technologies

Robotic arms are machines programmed to execute a specific task or job quickly,
efficiently, and precisely. Robot arms are motor-driven assemblies used for the rapid,
consistent performance of heavy and highly repetitive tasks over extended periods. Robots
are used in industrial production, manufacturing, machining, and assembly.[1]

An industrial robot arm typically includes a series of joints, articulations, and manipulators
resembling human arms' motion and functionality. The robot arms vary in size, as well as
their applications, including benchtop models, where electronic control is used, as well as
large robot arms mounted on the floor, usually constructed from sturdy and durable
materials such as cast iron or steel. Their functionality depends on the number of joints
within the robot arm, typically ranging from 4-6 degrees of freedom.

Depending on the different joint configurations, revolute, prismatic, or a mixture of both,


different work envelopes are achieved. This determines the most suitable application for
the robot arm. Robot arms are covered in later sections.

5|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

A revolute joint is a one-degree-of-freedom kinematic pair. [2] The joint constrains two
bodies' motion to pure rotation along a common axis. The joint does not allow translation
or linear movement. [3]

Figure 3. Revolute joint [4]

A prismatic joint is a one-degree-of-freedom kinematic pair [2] that constrains the motion
of two bodies to slide along a common axis with no rotation. For this reason, this type of
joint is often called a sliding pair. [3]

Figure 4. Prismatic joint [4]

6|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

As mentioned before, when selecting the robot to suit one's needs, the arms work envelope
might be one of the constraints. When selecting the right type of robot arm to perform a
specific task, involves further research into additional requirements such as:

• Load: The load capacity must always exceed the total weight of the payload.
• Orientation: Defined by the robotic arm's footprint and mounting positions and how well
it fits alongside other equipment.
• Speed: Important for picking and placing operations.
• Travel: Tolerance and accuracy are reduced when traveling long distances
• Precision: Some machines are designed to be more precise for certain applications;
however, this can come at the cost of speed, travel, or load.
• Environment: Consideration of atmospheric conditions and potential hazards
• Duty Cycle: Evaluation of how intensively the robot arm is expected to perform, and for
how long between 'rest' or maintenance periods. The usage of the robot arm might influence
wear and tear, and different models may vary in durability. [5]

2.1.1 SCARA Robot

SCARA stands for Selective Compliant Assembly Robot or Selective Compliant Articulate
Robot and is an industrial robot. It consists of 3 degrees of freedom, including two rotary
joints and a prismatic joint. It has an RRP configuration where the first two joints are
rotary, followed by a third prismatic joint [6].

SCARA robots are typically used for pick-and-place applications, and conveyor belt
picking, where speed, reliability, flexibility, and accuracy are crucial characteristics in the
manufacturing process [7].

SCARA robot uses direct and inverse kinematics, which allows the robot to perform tasks
with very small tolerance bands, such as putting a shaft into a hole.[6]. Using data
interpolation and inverse kinematics, the robot can move dynamically with motion in the
X - Y and Z planes with 360-degree rotational movement about the Z-axis.

7|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 5. SCARA robot configuration

Source: https://epson.com/scara-robots-product-family

Advantages:

• High speed
• High Accuracy
• SCARA robots can achieve tolerances lower than 10 microns.
• Compact size allows it for limited space applications and clean room environments.

Disadvantages:

• SCARA robots are limited in the amount of load they can carry.
• They are used with a smaller payload of 2kg nominal payload and a maximum of
10kg.

2.1.2 PUMA 560 Robot Arm

The PUMA is an industrial robotic arm developed by Victor Scheinman in the 1980s. The
three most common robot categories are the 200, 500, and 700 series. 200 is the smallest
desktop unit, and the 700 series is the largest.

All PUMA robot designs consist of two main components: the mechanical arm and the
control system. These components are usually connected by one or two large multi-
8|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

conductor cables, which carry power to the servo motors and brakes, while the second cable
provides position feedback for each joint.

The control computer in PUMA robots is based on the LSI-11 architecture. The system has
a boot program and a basic debug tool loaded onto ROM chips. The control unit also
contains a servo power supply, analog and digital feedback processing boards, and a servo
drive system [8].

The first surgical robot, the Puma series 200, was used in 1985 in a stereotaxic operation.
Computed tomography-guided the robot while inserting a needle into the brain for a biopsy.
This procedure was previously subjected to hand tremor errors during needle placement
[9].

Some of the common applications of the Puma 560 robot arm include arc and spot welding,
dispensing, remote TCP, and the medical industry [10].

Figure 6. PUMA 560 configuration [10].

Figure 7. PUMA 260 Figure 8. PUMA 560 Figure 9 PUMA761/762 [9].

9|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

2.1.3 Cartesian Robot

The Cartesian coordinate robot, sometimes called a linear robot, is an industrial robot
consisting of three linear working axes. This results in a straight-line movement rather than
a rotating movement, as seen in the previous case [11].

The robot's simplistic design allows it to move in and out, up and down, and back and forth
using three sliding joints within the robot arm. It has high reliability and precision when
operating in 3D space [12].

The robot is very effective at horizontal travel and stacking operations. Some of the most
common applications for these types of robots include computer numerical control
machines, three-dimensional printing, pick and place control, milling machines, and
plotters, where a tool translates across the X-Y plane, resulting in raising and lowering
the tool to achieve a precise design [13].

Figure 10. Epson Cartesian Robot configuration [14].

2.2 Four Main Types of Robot Geometry

Robot geometry dictates the work envelope produced by the robot configuration. It
describes how far the robot arm's end-effector or tool mounting plate can reach vertically,
horizontally, and backward [15].

10 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

2.2.1 Rectangular Arm

Uses cartesian coordinates and movies linearly along the x, y, and z-axis. It is also called
3P Geometry, where P stands for prismatic (linear).

Robotic arms which use 3P Geometry generate a rectangular work envelope.

Figure 11. Rectangular work envelope configuration [16].

2.2.2 Cylindrical Arm

Cylindrical Arm robots have a cylindrical work envelope .It moves in 2 separate prismatic
directions along its axis and rotates in another direction. It uses Cylindrical Coordinates or
what is called R2P, where R stands for rotational motion, and 2P describes the 2 prismatic
joints.

11 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 12. Cylindrical work envelope configuration

Some advantages of using the robot include the following:

• A smaller amount of space is required


• High repeatability
• Larger payload capacity due to structural rigidity

2.2.3 Spherical Arm Geometry

It uses polar coordinates and has a rotational motion at its base and shoulder. The robot's
arm is moving in linear motion. Spherical arm robots are also known as 2RP Geometry
robots, where 2R stands for 2 rotational joints and P is a prismatic joint.

The industry uses these robots for machine handling, welding, and painting. Spherical arm
robots typically have a long reach, which concludes that the work envelope is usually
described as conical when the arm is not extended and shifts to a spherical work envelope
when the shoulder is extended.

12 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 13. Spherical work envelope configuration

Disadvantages:

• Take up a lot of space


• Lack of flexibility
• High costs.

Advantages:

• Simple control systems


• Long reach
• Fast Operations

2.2.4 Jointed Spherical Arm

The Jointed Spherical Arm uses rotations in 3 directions, comprising revolute coordinates
(3R articulated geometry), which enables the robot to move on at least 3 axes and
accurately mimic the human arm.

The rotational motion at the robot base corresponds to a human waist. This is where either
a servo motor is placed to achieve the 180 degrees rotation of the machine or a DC stepper

13 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

motor to get the full 360 rotation along the x-axis. The elbow provides horizontal and
vertical movement.

• The working envelope is described as a sphere with some advantages over previous
examples such as [17].
• Deep reach
• Minimum space use
• High mobility

Figure 14. Joined spherical work envelope configuration.

2.3 Topology Optimization

Topology Optimization (TO) is a process that optimizes material layout and structure
within a given 3D geometrical design space for a defined set of rules input by the user. It
is used in the initial phase of the design to predict the optimal material distribution within
a given initial design space of a structure and considers functional specifications and
manufacturing constraints.[7]. It maximizes part performance and efficiency by
mathematically modelling and optimizing for external forces, load and boundary
conditions, and material properties. It removes redundant material from areas without
significant load.[18].

14 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

2.3.1 How does it work?

Topology optimization is usually performed at the end of the design process when the part
is complete and it is necessary to be lighter or use less material. Structural topology
optimization first determines the minimum allowable design space necessary for product
shape optimization. Then, virtually, the topology optimization software applies pressure
on the design from different angles, tests its structural integrity, and identifies unnecessary
materials [19].

Figure 15. Process of Topology Optimization

Source: https://www.researchgate.net/figure/Topology-optimization-
process_fig2_321771366

One of the most popular topology optimization methods is the Solid Isotropic Material with
Penalization method (SIMP). Bendsoe and Kikuchi (1988) and Rozvanyand Zhou (1992).
The SIMP method predicts optimal material distribution within a given design space for
load cases, boundary conditions, manufacturing constraints, and performance requirements
[20].

15 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Conventional TO uses finite element analysis to evaluate design performance and produce
structures to satisfy specific criteria.

• Reduce the stiffness-to-weight ratio.


• An improved strain-to-weight ratio.
• Reduce material volume to safety factor ratio.
• Natural frequency to weight ratio.

TO designs are difficult to manufacture using traditional methods due to unnatural shapes
and odd angles. However, as technology advances and 3D printing becomes more
available, most projects are achieved by importing the corrected file into a 3D printer.

2.3.2Topology Optimization Techniques

The finite element method (FEM) is the most widely used topology optimization technique.

FEM analyses the geometric design for the minimum space allowed and breaks the layout
into sections. It tests each section for rigidity, compliance, and redundant material. In the
last step, FEM joins the sections back together without redundant material, finishing the
design.

Approving the design consists of determining a threshold for the element density field
between 0 and 1. A value of 0 voids material in a designated region of the structure, while
a value of 1 sets the selected region as solid material. The software allows users to remove
unnecessary material and finalize topology optimization.

For example, the part shown below in Figure 16 is broken down into a grid of finite
elements called isotropic solid microstructures. Each area is either filled with material
for the area that requires material (Pe = 1), or it is left empty if it does not require any
material (Pe = 0) [20].

16 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 16. Determining a threshold for the element density [20].

ρmin is the minimum allowable relative density value for empty elements greater than zero.
This density value ensures the numerical stability of the finite element analysis. Since the
material's relative density can vary continuously, the material's Young's modulus at each
element can also vary continuously. For each element e, the relation between the material
relative density factor ρe and Young's modulus of elasticity of the assigned isotropic
material model Ε0 is computed by the power law:

Figure 17. Determining minimum allowable density [20].

The penalty factor p diminishes the contribution of elements with intermediate densities
(gray elements) to the total stiffness. The penalty factor steers the optimization solution to

17 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

elements that are either solid black (ρe = 1) or void white (ρe= ρmin). Numerical
experiments indicate that a penalty factor value of p = 3 is suitable.

A reduction in an element's material elastic modulus leads to reduced element stiffness.


The SIMP method modulates the global stiffness according to the following equation [20],
as shown in Equation 1.

(1)

2.3.3 Generative Design vs. topology optimization

Generative design and TO are product design techniques. While topology optimization has
been available for decades, it is widely used in computer-aided design software (CAD). It
requires a human (user) to input the initial design model and apply loads, boundaries,
external forces, constraints, and material properties.

The software estimates project parameters and creates a mesh. The mesh scans the entire
workpiece and performs mathematical calculations returning a value of the pressure
applied to each section. This allows the user to determine which sections of the design
model need to be removed. It also determines which are vital for the project to perform its
function without failing.

However, generative design can take this operation a step further as it does not require an
initial model from the user. It is mandatory to input model parameters, such as design space,
forces, and constraints. The software uses shape optimization to analyse and create multiple
designs that fit the given criteria.

Engineers evaluate the designs and choose the optimal one. Some advanced generative
design software in the industry such as Creo or Autodesk can automatically generate and
compare numerous designs against a predefined set of rules. The example shown in Figure
18 below illustrates the difference between generative design and topology optimization:

18 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 18. Generative design vs TO aerodynamic shape in 3D [21].

2.3.4 Advantages of TO:

Cost-effective: It is suitable for mass manufacturing. It can save material by only applying
it where necessary, minimizing usage and cost. It also impacts the transportation of the
finished part as less weight corresponds to cheaper transport and less packaging required.
This is environmentally friendly and saves money over time.

Optimized design: Topology Optimization eliminates the human error of balancing factors
and determining the best solution. FEA considers many factors and avoids making
dangerous assumptions that might lead to faulty items. Topology optimization aids with
the quantification of the optimal design.

Medical: Topology Optimization can create implants and prosthetics that resemble the
structure and density of the human bones.

Aerospace: Topology optimization is ideal for aerospace engineers as it involves weight


reduction and contains strong materials that can withstand external forces and significant
loads.

Figure 19. below displays a process of a topology-optimized bracket.

19 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 19. Benefits of TO a part [22].

2.3.5 Disadvantages of TO:

Lack of understanding: Even though Topology Optimization has been around for
decades, industries have only recently introduced it widely. Software is highly effective
but requires user knowledge to use it correctly.

Higher cost: Not all designs are suitable for traditional manufacturing methods, moulding,
or 3D printing. New manufacturing methods can sometimes be more expensive than
traditional methods. [18].

2.4 End Effector Modules:

The end effector is a device or tool connected to the robotic arm's end. It provides the
function of the human hand, allowing the robot to perform the specific task it is designed
to do. It is crucial to assess which end effector module is optimal for the robot, as it
constantly interacts with the part. Selecting the wrong end effector module is not unlikely
but there are some challenges associated with it, like control of the end effector and
maintenance.

20 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

2.4.1 Types of end effector modules:

End effector control depends on how the system is designed. End effectors require
electrical or electrical and fluid power to operate. The module's specific design allows the
process to work more efficiently and with fewer errors. A pneumatic design might
complete the task more efficiently than a mechanical design; however, if there is no access
to pressurized air, the design becomes expensive and problematic.

Not all end effectors are standardized to work with custom-made projects. It is worth noting
that different end effectors require different power. Consider that when designing the
control system for the end effector [23].

• Mechanical grippers
• Pneumatic grippers
• Suction cups
• Welding torches
• Magnetic gripper

2.4.2 Gripper Selection

Grippers are used in the industry to grasp and hold onto objects. They are usually used for
moving objects from one place to another. For example, moving away from the conveyor
belt to a handling area or picking up a selected part and arranging it on a pallet [24].

Some of the common grippers are:

• Mechanical grippers
• Dual grippers
• Interchangeable grippers
• Sensory feedback fingers
• Multiple Fingered Grippers
• Magnetic grippers
• Vacuum gripper

21 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

• Adhesive gripper
• Standard grippers
• Universal gripper

2.4.3 Fault Prevention

Maintenance should take place regularly. Similarly, with any other equipment, the
customer should adhere to the manufacturer's recommended maintenance schedule to avoid
system failure. This could potentially damage the part or the system [23]. Maintenance
tasks include:

• Cleaning
• Greasing
• Seal replacement
• Spring and bearing replacement
• Checking for leaks

2.5 Joint Movement

The joint movement is provided by the MG996R servo motor, which is connected to the
shaft and interlocked with a robot arm link. To provide power to the servo motor and
achieve motion of the links, sufficient power was obtained by a motor control board.

The motor control board is powered by an external power supply, as the Arduino Mega
power does not have enough current to smooth the motor operation. To get enough current
to the motors without damaging the motor control board, the input voltage from the external
power supply was regulated to 5V. Common ground is shared with the Arduino, and the
microcontroller determines the motor direction.

22 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 20. Diagram of the joint movement for the robotic manipulator

2.5.1 Servo Motor MG996R

The MG996R is a high torque metal gear dual ball bearing servo motor resulting in
impressive 10kg stalling torque for its size. It features upgraded shock proofing and a
redesigned PCB and IC control system.

Figure 21. Servo motor MG996R integrated within the project

The servo motor can rotate approximately 120 degrees (60 in each direction). The code and
libraries for this servo motor are widely available. This makes it easy to integrate into the

23 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

circuit and eliminates the need to build a motor controller with feedback and a gearbox
[25].

Table 1 located on the next page provides a specification for the motors used in the project.

Table 1. MG996R Specifications

Weight 55g

Dimension 40.7 x 19.7 x 42.9 mm approx.

Stall Torque 9.4 kgf·cm (4.8 V ), 11 kgf·cm (6 V)

Operating Speed 0.17 s/60º (4.8 V), 0.14 s/60º (6 V)

Operating Voltage 4.8 V and 7.2 V

Running Current 500 mA - 900mA

Stall Current 2.5 A (6V)

Dead band width 5 μs

Temperature Range 0 ºC – 55ºC

2.5.2 Calculations for Forces

The servo motor described above was selected based on the following calculations. The
robotic arm base holds the maximum load and must be stable to prevent vibration. The
principle of moments for a body in equilibrium states that the resultant force on the body
must be equal to zero, and the resultant moment of the force on the body about the points
must also be equal to zero. Calculations for moments and equilibrium are provided on the
next page.

24 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 22. Free Body Diagram of the robotic arm

Table 2. Specifications of the robotic arm

W1 Weight of link 1 0.39 kg

W2 Weight of the motor 0.25kg

W3 Weight of link 2 0.354kg

W4 Weight of the end effector 0.2kg

W5 Weight of the Load 2kg

L1 Length of Link 1 0.2m

L2 Length of Link 2 0.18m

25 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Applying the Equilibrium condition

Therefore Σ𝐹𝑦  =  [(𝑊4  +  𝑊5)  +  𝑊3  + 𝑊2  +  𝑊1]  ⋅  𝑔  −  𝐵𝑦  =  0 ∴ 𝐵𝑦 
=  [(2  +  0.2)  +  0.354  +  0.25  + 0.39 ]  ⋅  9.81

𝐵𝑦  =  31.301𝑁  

Σ𝐹𝑦 = [(𝑊4 + 𝑊5) + 𝑊3 + 𝑊2 + 𝑊1] ⋅  𝑔  −  𝐶𝑦  =  0

∴ 𝐶𝑦   =  3.194  −  0.39  ⋅  9.81   

𝐶𝑦   =  27.38𝑁

2.5.3 Calculations for 𝐌𝐨𝐦𝐞𝐧𝐭𝐬

The moment of a force about a point refers to the (magnitude of the force) x (the
perpendicular distance of the line of action of the force from the point)𝑀𝑏   =   −
𝐿2 𝐿1
 (𝑊4   +  𝑊5)  ⋅  (𝐿1  +  𝐿2)  − (𝑊3  ⋅     + 𝐿1)   −  𝑊2 ⋅ 𝐿1  −  𝑊1  ⋅   +  𝑀𝑏 =  0
2 2

𝑀𝑏   =  0.836  +  0.232  +  0.05  +  0.03𝑀𝑏   = 0.58𝑁𝑀𝑐  


𝐿2
=   − (𝑊3  ⋅   )   −  (𝑊4  +  𝑊5 ⋅ 𝐿2)  + 𝑀𝑐   =  0
2

𝑀𝑐  =  0.214 𝑁𝑚

2.5.4 PCA9685 – 16channel 12-Bit PWM Servo Motor Driver

The PCA9685 is a 16-channel I2C-bus-controlled servo motor driver with a fixed


frequency. It allows connecting up to 16 devices at 12-bit resolution (4096 steps) for each
output (about 4µs resolution at 60Hz update rate).

26 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 23. PCA9685 Motor control board used to power and drive the motors.

2.5.5 Rotary Linear Potentiometer

A TT Electronics/ BI Technologies P160KN-0QD15B10K with a resistance of 10K Ohm


and tolerance of 20% was used to operate the movement of each motor.

Figure 24. Rotary linear potentiometer 10K Ohm, 20% tolerance

Source: https://ie.farnell.com/productimages/standard/en_US/63M1595-40.jpg
27 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

2.5.6 Infrared gravity adjustable sensor

The gravity digital adjustable infrared proximity sensor (distance sensor) has an adjustable
detection range from 3cm to 80cm. The useful for indoor projects and the outdoors as the
infrared wavelength is part of the Sun's natural light spectrum. To adjust the sensor's
detection range, twist the screw at the back of the device.

Figure 25. Gravity Adjustable IR sensor

2.6 Microcontroller

A microcontroller was used in the project and is the sole component of the robotic arm. It
is necessary for connecting and controlling all components in this project. In a
microcontroller, a specific task is performed according to a condition based on
communication with devices incorporated into the system. It is also portable and powered
by an external power supply. The built-in voltage regulator uses an output of 5V to the
board while protecting the board.

In this case, the microcontroller communicates with the potentiometers and samples their
values. Once the average value is determined, it is used to describe the angle position of
the servo motor resulting in overall movement.

An Arduino Mega was selected for this project, given the number of connections to the
LCD screen used to display instructions. In addition, there was a DIP switch and the
remainder of the components.

28 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

2.6.1 Arduino Mega

Arduino UNO is used for testing motors with potentiometers and independent testing of
other components such as LCD.

Figure 26. Arduino UNO

The Arduino Mega is superior to the smaller version (UNO) as it contains the more
powerful Atmel ATmega 2560 chip. After careful consideration, the Arduino Mega was
selected over the Arduino UNO as it lacks processing power and enough I/O pins to
connect all devices at once. There are 70 pins on the board, 54 I/O pins (15 PWMs), and
16 analog pins.

Figure 27. Arduino Mega2560 Microcontroller

29 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Table 3. Arduino Mega2560 Specifications

Microcontroller ATmega2560

Operating Voltage 5V

Input Voltage(recommended) 7-12V

Digital I/O pins 54 (15 PWM)

Analog Input Pins 16

DC Current per I/O Pin 20 mA

Flash Memory 256 KB – 8 KB used by bootloader

SRAM 8 KB

EEPROM 4 KB

Clock Speed 16 MHz

30 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

2.7 Kinematics

Kinematics is the study of the relationship between robot joint coordinates and spatial
layout. It is a fundamental and classical topic in robotics. Kinematics can yield perfectly
accurate calculations for many problems, such as positioning a gripper at a place in space,
designing a mechanism that moves a tool from point A to point B, or predicting whether a
robot's motion collides with obstacles.

Kinematics concerns only the instantaneous values of the robot's coordinates and ignores
their movement under forces and torques (which will be covered later when we discuss
dynamics). The kinematics problem may be trivial for certain robots, like mobile robots
with rigid bodies. However, it requires a detailed study of other robots with many joints,
such as humanoid robots and parallel mechanisms.[26].

A list of coordinates for each joint (typically an angle or translation distance) expressed
relative to some reference frame, aka the zero position.

A spatial representation of its links in the 2D or 3D world in which it operates, e.g., matrices
describing the frame of each link relative to some world coordinate system.

2.7.1 Forward Kinematics

Kinematics determines the robot's motion required to advance from the initial to the final
manipulator position. Forward kinematics refers to the position of the end effector, where
the orientation of the end effector is derived from the given set of joint angles. Similarly,
inverse kinematics refers to the position of the set of joint angles, where the initial and
final position determines the joint angle.

31 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

2.7.2 Inverse Kinematics

Cartesian coordinates describe the end-effector's position. In contrast, the robotic arm's
motion is described in terms of joint angles. This means that the value of the angle at each
joint dictates the robotic arm's dynamic. To simulate the robotic manipulator's movement,
it is necessary to generate a trajectory. It involves finding the desired coordinate space
trajectories given the cartesian trajectories.

Generating trajectories is achieved using inverse kinematics. The two primary methods to
establish the kinematic model of the robotic manipulator are the Denavit-Hartenberg
convention. The other method involves the screw theory technique.[27].

2.7.3 Denavit Hartenberg Method

The Denavit Hartenberg frames allow the user to derive equations that control a robotic
arm.

• The D-H frames of a specific robot are classified as follows:


• Global coordinate frame: This coordinate frame refers to the position where the
robot's base contacts the surface it is placed on.
• Joint frames: Requires the coordinate frame for each joint.
• End-effector frame: Requires the coordinate frame for a robot's end effector.

2.7.4 The DH Frame rules

1. The z-axis is the axis of rotation for a revolute joint

2. The x-axis must be perpendicular to both the current z-axis and the previous z-axis.

3. The y-axis is determined from the x-axis and z-axis using the right-hand coordinate
system.

4. The x-axis must intersect the previous z-axis (the rule does not apply to frame 0).

32 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

The global reference plane relates to Joint 1, which points straight upwards, allowing for
rotation using a servo motor.

2.7.5 Right-Hand Rule:

The right-hand rule is applied when analysing rigid bodies. It provides cross-product called
the right-hand rule. It is a key feature when compiling the kinematic equations for the
robotic manipulators as it is used to find the direction of the unknown axis, given the other
two axis axes known. This is a crucial step for determining the movement of the arm, along
with the DH parameters mentioned in the previous section.

The right-hand rule refers to the orientation of the axes in three-dimensional space (see Fig.
28).

• To perform the right-hand rule, one should


• Take your right hand and point your index finger toward the X-axis
• Point your thumb towards the Z-axis
• Point your middle finger in the direction of where your palm points [28]

Figure 28. Right-hand Rule

https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9392750

33 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3. Materials and Methods

This chapter outlines a detailed presentation of how the mechanical hardware and software
design of the project is carried out and implemented. It describes the different methods and
procedures used to build the project and meet design constraints.

Figure 29. Prototype of the Robotic Manipulator

34 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.1 Project Block Diagram

Figure 30 describes the overall project block diagram. The system consists of an Arduino
Mega microcontroller connected to 5 different potentiometers, 4 of which are responsible
for the movement of each servo motor. One potentiometer is responsible for adjusting the
speed of the servos.

Figure 30. Block Diagram of the Overall system

An LCD screen displays instructions for operating the robotic arm. It also displays relevant
data users might be interested in, such as speed control and the number of parts picked.

A 6-bit DIP switch is used within the project to change states. Upon selecting the correct
switch, the user chooses the desired state. Possible selected states include:

35 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

• State 1: Mode Selection


• State 2: Auto Mode
• State 3: Manual Mode
• State 4: Pot Control
• State 5: Error state
• State 6: Work location
• State 7: Storage location

An in-depth breakdown of each state will take place in the upcoming sections.

A gravity-adjustable infrared sensor is used in the circuit for object detection. The sensor
detects objects within 20cm of the sensor.

LEDs have been used to indicate the current state of the system. In addition, they warn the
user in case of a malfunction of the component or selection of the wrong state.

The motor control board is powered by an external power supply of 9V, which is then
regulated by an LM7805 voltage regulator chip to achieve 5V output voltage. The regulated
voltage is input to the PCA9865 motor control board. The servo motors are connected to
the motor control board using an I2C-controlled PWM driver with a built-in clock. The
microcontroller is powered by an external 9V battery, which is then regulated to 5V by a
linear voltage regulator integrated into the board.

3.2 Software Flowcharts

The flowcharts in this section explain the step-by-step progression of the code being
executed, as well as the breakdown of each state in detail for the robot arm.

36 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.2.1 Void Loop Flow Chart

The robot arm will be initialized to its home position upon starting the system. Next, 'state
0' will be loaded which displays a message on the LCD screen. It will also implement a
delay to allow the robot arm to reach its home position. The flowchart shown below in
Figure 31 shows the code execution order for the project.

The following user will be prompted to enter 'state 1' - mode selection. In this state, a screen
appears giving instructions on selecting the desired mode. The three modes available in
this state are: auto mode, manual mode, and pot control – states 2,3, and 4, respectively.

If 2 or more buttons are on simultaneously, the code executes 'state 5' - error state. An error
message appears on the screen, indicating instructions for the correct mode selection.

Figure 31. Void Loop Flow Chart


37 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.2.2Auto Mode Flow Chart

Auto Mode – state 2 is responsible for the system's automatic operation. Gravity adjustable
infrared sensor is selected to verify an object is present. An 'i' variable is introduced as a
counter for picking parts.

When switch 1 is pressed, the user is prompted to ‘auto state.’ The counter is initialized at
0. If the gravity-adjustable infrared sensor reads a HIGH value, the code runs the sequence
of moves for the robot arm. This is to perform a pick and place function. Upon finishing
one iteration of the code, the variable ‘i’ is updated to several parts picked.

Figure 32. Auto Mode Flow Chart

38 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.2.3 Manual Mode Flow Chart

Manual mode – state 3; allows the user to prompt the robot arm to the hardcoded positions
of ‘Work Location’, ‘Storage Location’, and ‘Home Position’ and open and close the
gripper with the use of a 6-Bit DIP switch. If switch 2 is displaying a HIGH signal, the user
can select the locations named above using switches 4, 5, and 6. When using the said
switches above, the code will change its state, accordingly, progressing to the desired
position. For manual mode to work, switch 2 must be switched on constantly. By changing
switch number 4, the code advances to state 6 – work location, and by turning on switch
number 5, the code advances to state 7 – storage location. The gripper is controlled by
switch 6 to secure and release the object. If both switches responsible for advancing the
robot arm to the hardcoded locations are on, an error message appears on display. This
instructs the user to select one switch at a time.

It is imperative to note that in switch control mode, the gripper control must be configured
in the LUT when picking up different objects. This is to adjust the gripper clearance and
prevent component breaking. This state is created to operate the robot arm if the auto state
is faulty (issues with the sensor), or inexperienced users cannot operate the arm with the
potentiometers.

Figure 33 located on the net page describes the operation of the ‘Manual mode’ stated
above, with the aid of the flowchart for visual representation.

39 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 33. Manual Mode Control Flow Chart

40 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.2.4 Pot Control Flow Chart

The figure below presents the flowchart for ‘state 4’ - Pot Control.

It is noticed that significant noise is present when integrating potentiometers with servo
motors. Therefore, the approach chosen for this issue was to take the average of the number
of sampled values. In addition, it was to apply the threshold to ensure no fluctuation.

Figure 34. Pot Control Mode Flow Control


41 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.3 Reading Potentiometer Data

The potentiometers will be read on analog pins A0-A3 and A5 for speed control. A
potentiometer is a simple mechanical device that provides a varying amount of resistance
when its shaft is turned.[29]. Turning the potentiometer shaft affects its resistance by
changing the amount on either side of the wiper. This is connected to the potentiometer
centre, signal, and pin. Each potentiometer is wired to power and ground from the
microcontroller – 0V and 5V. Its signal is processed through ADC and returns a value in
the range of 0 – 1023, calculated by 2𝑁 , where N is the number of bits, therefore:

210   =  1024

AnalogRead() function is then used to obtain the values of the potentiometer.

3.3.1 Potentiometer Raw Data

Analog PINs are assigned to each potentiometer. Their ADC values are stored in integers:
x, y, z, and v. As mentioned above, the figure below shows the snippet of the code used to
extract the ADC values from 4 potentiometers. The values are then displayed on the serial
monitor using the “Serial.print” function.

Figure 35 shows a small fluctuation between these values. When motors run under a known
load, readings vary more, and Figure 36 is displaying the ADC values obtained using the
code. (See next page for figures)

Both figures are displaying the initial steps of obtaining the ADC values to later use them
to map the position of the servo motors.

42 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 35. Code to obtain Pot Data Figure 36. Potentiometer Data

43 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.3.2 Potentiometer Map() Function Data

Once the readings from the potentiometers were obtained, as described in the previous
section, the next step was establishing each motor's working range.

The map() function re-maps a number from one range to another so that a value of
‘fromLow’ would get mapped to 'toLow', and, similarly, a value of ‘fromHigh’ would get
mapped ‘toHigh’ [30].

It has a map (value, fromLow, fromHigh, toLow, toHigh).

The 2 examples in Figures 37 and 38 show potentiometer values read using the map
function.

Figure 37. Code to obtain map Potentiometer Data

44 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 38. ‘Mapped’ Potentiometer Data

Figure 38 presents the potentiometer values read using servo motors connected to the
microcontroller.

It is noted that adjusting the position of one potentiometer impacted the position of some
other potentiometers. Another issue was the jitter of servo motors while idle; noticeable
movement of each motor was seen, resulting in a noisy system. This can be seen in the
first two columns of data shown in Figure 40.

45 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 39. Code to control servo motors Figure 40. Potentiometer Data

3.3.3 Smoothing Potentiometer Data

The potentiometer is connected between 0 and 5V to the analog pin on the microcontroller,
in this case: A0. Analog-to-digital conversion (ADC) converts voltage values into analog
numbers between 0 and 1023.

The user initializes the number of samples at the start of the code. It was found that 20
worked in this case. It was also found that the higher the number of samples, the longer it

46 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

takes for the average to be computed. This results in the threshold value being initialized
as 5, which prevents the change of value for values + or – 5. This ensures a stable
potentiometer reading. An array of potentiometer sample values is initialized with the size
of ‘NUM_SAMPLES’, specified above.

To iterate the Pot sample value, PotIndex_base is initialized to 0. The last average pot value
is also initialized to 0 with the total pot value and ‘i'. A for loop is then initiated to run for
‘i'<=’ NUM_SAMPLES’, where each sample value is described as PotSample[i], resulting
in obtaining 20 values of the potentiometer.

The total pot value is then described as the sum of the sample potentiometer values, which
are initialized with 0’s at the start.

The current potentiometer value is equal to the base pin – A0, which obtains the readings
from the potentiometer. The total potentiometer value is then described as the sum of the
current potentiometer values. This is followed by an increased loop iteration to obtain the
next potentiometer sample.

The method is repeated until the loop condition is satisfied. It then proceeds to calculate
the average potentiometer value obtained by dividing the total potentiometer value by the
number of samples. A threshold is then applied to detect whether a change in the
potentiometer reading is present. It is achieved by finding the absolute value of the average
potentiometer value and the current potentiometer value. If the difference is greater than 5,
the code obtains updated mean values. If the values fit within the design constraint, the last
average potentiometer value is updated to the average potentiometer value. That value is
then mapped to the resolution the user selects using the map() function.

47 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 41. Code for smoothing the ADC values

48 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 42. Potentiometer ADV values after applying the smoothing filter.

After applying the smoothing filter, potentiometer values are stable and minimal noise
exists.

49 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.4 Project CAD Design

The robot arm prototype is developed using SolidWorks software. Each part is described
in the upcoming sections.

Figure 43. CAD project design

3.4.1 Design Considerations

The design considerations associated with this project include the size of the manipulator,
the weight of each link, and what function it performs. In addition, it includes selecting the
appropriate torque motor to operate each link and how the arm is moved.

After researching numerous projects of a 3DOF robotic arm, it was noted that most of the
projects involved the use of forward and inverse kinematics as well as some of the tasks
involved more sophisticated methods of encoding the stepper motors position providing it

50 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

with a higher degree of accuracy and precision, which is reflected on in greater detail in
Chapters 4 and 5.

Industrial robotic arms can perform various tasks, from simple pallet stacking to complex
surgical operations. Due to the time constraint and the scope of the project, it was decided
that a simple pick-and-place operation was the most suitable choice to ensure deadlines are
met and a fully functioning project is demonstrated.

The relevant projects used to inspire the design of the current project build consist of three
revolute joints, each operated by servo motors in most cases. For some projects, the use of
a DC stepper motor is highly beneficial as it allows for the full rotation of the robotic arm.

The main concept of this project was to present the robot arm as part of a workstation;
therefore, a base is manufactured to represent the floor of a factory and to provide a stable
mounting of the manipulator. Another very significant factor in this project is motor
selection. Due to the size and weight of each link, the servo motors must provide enough
power to support the structure. They must also prevent slipping and minimize vibration
from sudden arm stops. Once the robotic arm design and the motor selection were
established, the next step was to determine how to control each link's movement. As
mentioned above, most robot arms these days are controlled through inverse and forward
kinematics. This allows joint interpolation through mathematical equations. For initial
testing, a simulation of an articulated robot operating through forward kinematics is
developed in MATLAB software; however, it was challenging to integrate it within the
build due to the time constraint (a more detailed description is covered in Chapters 4 and
5).

The solution to controlling the robot arm was to map ADC values as positions to each servo
motor. This was done to create a look-up table of the hardcoded positions, which are then
used in code to direct the arm to advance to the position.

51 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.5 Project Build

This section outlines the steps required to complete the mechanical build of the project. It
also provides information on how software and components have been integrated.

Detailed drawings of all individual parts are included in the appendix.

Figure 44. Initial Robot arm build

52 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.5.1 Bottom Platform

The bottom platform was manufactured from two 500mm x 500mm x 3mm transparent
acrylic sheets. The main objective of the bottom platform was to give enough space for the
robot arm. This was so that the manipulator's motion was not restricted by space. It also
allowed a greater number of workpieces to be picked up.

Figure 45. Bottom Platform of the project

53 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.5.2 Initial Base of the Robot Arm

The robotic arm base is a fundamental part of the design. It supports the weight of all other
components and the load. It mimics the waist of the human body. It is achieved using a
servo motor.

The base of the robot arm was manufactured using 3D printing, with a high infill setting
(60% - 80%) to gain some additional weight, which led to better robot arm stability. The
initial design of the robot arm base was selected as two pieces with a chamfered edge.
Figure 44 shows the base bottom. It is mounted on the platform and fastened with 3 M3
screws. It contains a mounting bracket for the servo motor to ensure minimal movement of
the component. This helps to reduce vibration while the arm is in motion.

Figure 46. The bottom part of the base design

54 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

The base top is screwed to the servo motor attachment using 4 6-32 UNC screws. The
attachment is mounted on the servo motor. On the top of the base part are 4 mounting holes
for the first link base.

Figure 47. The top plate of the base design

55 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.5.3 Base of the 1st Link of the Robot Arm

The base of the first link is elongated to achieve a longer overall reach for the robotic arm.
Its base is a square piece holding up the pipe-like structure, with a hollow circular section
at the top.

The hollow section is used for mounting a bearing, which moves the links. The spacing at
the top of the pipe allows wire hiding and protection inside the structure.

Figure 48. Base link of the robot arm


56 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.5.4 First Link of the Robot Arm

The robot arm's first link is 150mm. It is operated by a metal geared servo motor, which
was mounted to the base of the first link.

A square piece is created so that when the shaft is inserted through the cylindrical space
seen at the bottom of the link, it locks onto the square. This prevents the link from slipping
while in motion. The singular cylindrical hollow space seen at the top of the link is used
for mounting a bearing, allowing for a second link rotation.

Figure 49. First Link of the robot arm

57 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.5.5 Second Link of the Robot Arm

The second link of the robot arm was designed similarly to the first link, with slight
modifications to the top of the part. Figure 50 shows that the black shaft of the second link
located at the top of the link, is used as a guide the hub. Once the hub is in place, the robot
arm gripper is secured in place with 4 M2 screws.

Figure 50. The second link of the robot arm

58 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.5.6 Gripper Module of the Robot Arm

The gripper module of the robot arm was acquired from ‘RobotShop’ as ‘standard gripper
kit A.’ It consists of the mounting bracket for the servo motor, two jaws responsible for
picking up an object, and the link connecting the servo motor spline to the gripper jaws.

Figure 51. Gripper Module – Standard gripper kit A

Source: https://grabcad.com/library/gripper-kit-b-1

3.5.7 Final Design of the Base from Robot Arms

The final base design introduced a ‘lip’ at the top of the structure and removed the
previously mentioned chamfer. The reason for this change was to add more balance to the
structure. This was done to remove the slack and vibration caused by the weight of the
robotic arm. This is covered in much more detail in Chapter 4.

59 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 52. The final design of the base

3.5.8 Top Plate of the Base

The plate of the base is a circular disc, with mounting holes for the servo motor in the
centre. It also has the base of the first link at the top of the part and the ‘L’ brackets.

Figure 53. The final design of the top plate


60 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.5.8 The ‘L’ Bracket

The ‘L’ bracket is secured to the top plate of the base plate using 4 M2 screws, each spaced
at a 90-degree angle interval. Once in place, the brackets limit the clearance between the 2
parts. This results in a very slight bend in the actual structure compared to the initial design.

Figure 54. ‘L’ bracket design

61 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.5.9 Final Assembly

The Final assembly was developed using a Veroboard for soldering all the connections
associated with the build. A separate enclosure was used to contain the Arduino Mega
secure, ensuring the connections will not become loose. The microcontroller is powered
by a 9V battery, providing power to the potentiometers and the LCD screen.

Lithium-ion batteries were used to provide the power through the motor control board
into the servo motors.

Figure 55. Final Assembly of the project

62 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.6 Arduino Software

The Arduino Integrated Development Environment (IDE) was used to develop the software
code for the project. The Arduino community is recognizable across the globe making it
easy to access the sample code required for testing each component and downloading the
related libraries.

The code was written in C language with external libraries to allow easy operation of servo
motors connected to the motor control board. In addition, it required an LCD screen, which
requires its library for the easy use of the functions provided. The code written in the
software is saved as a ‘sketch’, which can then be imported onto the microcontroller using
a USB 2.0 cable of type A/B. The following sections outline the critical fragments of code
used to ensure project functionality.

3.6.1 Code Summary

This section focuses on the loop iteration and the conditions for state progression.

Upon starting the system, the robotic manipulator initializes its home position. It displays
a message on the LCD screen notifying the user of its current state. It also allows sufficient
time for the robot arm to finish its movement. After a 3-second delay, the initial state will
be loaded. It was possible to switch between the states using a 6-bit DIP switch. The first
3 buttons on the switch select one of three states: ‘Auto’, 'Manual', and ‘Pot control’.

The other 3 buttons of the switch prompt the robotic arm to its hard-coded positions: work
location, storage location, and opening/closing of the gripper module. It is only possible to
operate the last 3 buttons while in 'Manual mode'. An error state is created by checking
each button's logic level to ensure that the user cannot enter two states at the same time.

If two or more state select buttons are on at the same time, the system displays an error
message indicating instructions for the safe operation of the robot arm. A more in-depth
solution for each state is provided in sections 3.2 and 3.3.

Figure 56 on the next page depicts the code snippet containing information on each state's
transition.
63 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 56. state selection parameters

Once the state of the system was established by toggling the desired button, each state had
its function of the sequence of moves programmed within the system, allowing the robot
manipulator for advancing to the position. These hard-coded positions were used to
describe the home position of the arm, the sequence of moves while in ‘Auto mode’, and
the sequence of moves in ‘Manual mode’.

The ‘Pot control mode’ did not use any functions to describe its position, as the position
was determined by the twist of the wiper of the potentiometer, specified by the user.

64 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.7 Materials & Methods

Most robots are made from easily accessible materials, such as aluminium, cast iron, and
steel. Some projects might involve a more significant factor of strength required and overall
durability; in such cases, carbon fibre or titanium metal is used. It is critical to note that the
weight of the robot's links and joints cannot exceed the weight of the base. This would
create an unstable environment and fail the design.

3.7.1 Aluminium 6061

It is advised to use a heavier material for the base and use aluminium. This has highly
elastic properties and does not deform easily under load. Steel is denser than aluminium
and 5 times stronger. In some cases, carrying a large load might be crucial, whereas, in
others, lightweight construction would be more optimal for the task performed.

The most used aluminium type is Aluminium 6061; Table 4 displays some of the properties
of aluminium 6061 compared to steel EN 31 [31].

Table 4. Mechanical properties Al 6061 vs EN 31 Steel

Mechanical properties Al 6061 EN 31 Steel

Density (𝜌) g/𝑚𝑚3 850g𝑚𝑚3

Young’s modulus (E) 68.9 GPa 200 GPa

Tensile strength (𝜎𝑡 ) 198 MPa 370 MPa

Poisson’s ratio (v) 0.33 0.25

Thermal conductivity (K) 168 W/(𝑚 ∙ 𝑘) 50 W/m-k

Specific heat capacity (c) 897 J/(kg∙K) 470 J/(kg∙K)

Source:https://www.researchgate.net/publication/328580734_Elevated_Temperature_We
ar_Behavior_of_Aluminium_Alloy_Al_6061

65 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.7.2 Polylactic Acid (PLA)

Polylactic acid, also known as PLA, is a thermoplastic polyester. It is obtained by


condensation of lactic acid with water loss or prepared by ring-opening polymerization of
lactide.

PLA is the most popular material for 3D printing. Its low melting point, high strength, low
thermal expansion, high layer adhesion, and high heat resistance, when annealed, make it
an ideal material for this purpose. It has also gained popularity as it is economically
produced from renewable resources, resulting in PLA being the largest consumption
volume of any bioplastic in the world [32].

For PLA filament with a built-in heated bed the most optimal nozzle temperature of
190°𝐶 and 210°𝐶 .[33]

Table 5. Mechanical properties of PLA

Mechanical Properties Value

Density (𝜌) 1210 – 1430 kg/𝑚3 [34].

Melting Point 150°C – 160°C

Yield strength 60 MPa

Elongation at break 6%

Tensile modulus 3600 MPa

Flexural strength 83 MPa

Flexural modulus 3800 MPa

Source: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6926899/table/materials-12-
03859-t001/

66 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3.7.3 3D Printing

Manufacturing through fused filament fabrication (FFF) or 3D printing is a phenomenon


that has drastically changed manufacturing understanding, mainly during the last decade
[37]. There are many advantages of 3D printing over traditional manufacturing methods.
One of them is machine simplicity. Hard-to-manufacture regions are easily achievable, as
the most difficult part of manufacturing is the part design. Once the part is designed, the
file is converted to a Standard Triangle Language (STL) file and uploaded to a 3D printer.

The 3D printer moves the nozzle on the X-Y axis, building the part layer by layer. It has
its working envelope; therefore, the part size may be limited by the equipment provided.

Some settings within the 3D printer can affect the overall quality of the part, such as
resolution and infill percentage. Resolution refers to the smallest movement the nozzle can
make when depositing material. The infill percentage refers to the internal structure of the
region. This means the higher the infill, the more solid the part will be, resulting in
increased weight.

To maintain the part's geometry, structures are used. The use of structures may influence
the finish of the overall product, as they need to be removed from the part once printing is
done. To keep structures to a minimum, it is often recommended to lay the biggest surface
area of the object to be printed flat on the printer's bed. This also supports the overall
structure. Another factor that may influence the finish of the part is the cooling rate of the
material, which will be discussed in detail in Chapter 4.

67 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

4. Results and Discussion

This chapter provides a detailed analysis of the results obtained with different techniques
implemented in the project and a section for the discussion. The data is presented using
visual figures for the topology optimization and tables for data associated with removing
noise from the potentiometers.

4.1 Topology Optimization

It was found that topology optimization was necessary on both links of the robot arm, as
well as the base link, to minimize the weight required to be supported by the rotating base.
The results obtained from the topology optimization of each part, and their comparison to
other materials is available in the later section of the report.

4.1.1 TO of First Link

The topology optimization process took place once all robot arm parts were completed.

The first step of the topology optimization process was to assign the material to the part.
Solidworks software does not provide a table with material properties for PLA, hence
Table 5 seen in section 3.7.3 was used to import some of the mechanical properties of the
material. Table 6 shown below represents the mechanical properties of PLA that were
used to obtain the final topology-optimized design of link 1.

Table 6. Mechanical Properties of PLA

Property Value Units

Elastic Modulus 3500 N/m²

Poisson’s Ratio 0.35 N/A

68 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Shear Modulus 4107 N/m²

Mass Density 1300 kg/m²

Tensile Strength 37 N/m²

Compressive Strength 66 N/m²

Yield Strength 60 N/ m²

Thermal Expansion coefficient 68 /K

Thermal Conductivity 0.16 (𝑚 ∙ 𝑘)

Specific Heat 31.09 J/(kg∙ 𝑘 )

Material Damping Ratio 2.2 N/A

The next step of the topology optimization process was to apply fixtures to the part
geometry. Fixtures describe how the model is supported. Selecting a fixed region sets it
to a preserved region, excluding it from topology optimization. Figure 57 presents the
fixed regions of the first link. The mounting holes for the servo motors and shaft cavity
were excluded to protect the part geometry.

Figure 57 Fixed regions

69 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

After applying the fixtures to the part, the next step was to determine the external loads acting on
the part. The most obvious external load was gravity. It was selected by choosing the plane on
which the force would act. This can be seen in Figure 58.

Figure 58. Gravity constraint

The next step was to measure the external load acting on the part. Figure 57 shows the
region suspected to be under pressure after the shaft is inserted. The pressure in the shaft
cavity was calculated using the following equation:

𝑃
𝐹  =  
𝐴

Where: F – Force, P – Pressure, A – Area

The Evaluate tool measured the area of interest subjected to pressure. Once a value was
obtained, it was multiplied by the force. As previously seen in Chapter 2, the force has
been estimated to be 19.6N. Ensuring that the part will not fail easily, a factor of safety of
2 has been added, meaning that the force has been multiplied twice, increasing the
maximum load. This results in higher requirements for the part's strength, simultaneously
resulting in a part less likely to fail.

70 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 59. Pressure constraint

Next, the external load acting on the first link cavity was calculated. A pressure calculation has
been used to estimate the load acting on this section of the part. It is a necessity to remember that
the metal ball bearing was placed directly in the centre of the cavity, and so the material thickness
had to be kept relatively thick to prevent cracking or snapping of the material. The bearing required
a snug fit eliminating any slippage or shift over time. It is a vital element of the build. Initial testing
without the bearing showed significant vibration of the links while in motion. This did not allow
for precise movement as the shaft was unable to support the weight of the link.

Figure 60. Pressure constraint

71 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Table 7 shown below displays the results of the loads calculated for a specified area of the
first link.

Table 7 .Results of external Loads link 1

Load Part Area Value Calculated

Pressure Shaft cavity outer 1995 mm 0.0200501254 MPa

Pressure Shaft cavity inner 1197 mm 0.020030045 MPa

Pressure Bearing cavity 1995 mm 0.0200501254 MPa

Gravity Top face 405.08 mm 9.81 m/s

Other factors affecting the final design include goals and constraints defined in SolidWorks
software. The desired goal was the most effective stiffness-to-weight ratio, which would
allow retaining its original mechanical properties while reducing the weight of the part by
the specified percentage of the mass to be reduced.

Further refinement of features such as preserved regions and specifying the minimum wall
thickness took place. Some of the part faces were kept maintaining the overall part
geometry. It was found that the minimum wall thickness of 25 mm worked well while
keeping the original shape of the part.

The final step of topology optimization was to generate a mesh, which divided the part into
small segments. SolidWorks software provides an option to select how coarse or fine the
mesh is. The finer the design mesh, the more accurate topology optimization results were
obtained. However, the finer the design mesh, the more calculations are involved in
determining the new part geometry. As more segments were created with a finer mesh,
stress, and strain were calculated for each segment. This resulted in a longer processing
time for the topology-optimized part.

72 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figures 61 and 62 below show two different results for the same part simulated with
topology optimization but with different constraints applied.

Figure 61 highlights the bottom right region of the link in blue. The regions of the part
highlighted in yellow are considered a must-keep geometry, whereas the darker the shade
of blue, the more unnecessary the material is for the particular geometry.

This topology optimization study suggests a geometry that is not satisfactory, as the part
separates into two at the vital link of the robot arm.

Figure 61. Failed topology-optimized part

It was possible to generate a part that met design specifications after further design
refinement. The most critical thing to know was specifying the preserved regions, as well
as specifying the correct external load with a reasonable factor of safety.

Once happy with the topology optimization outcome, the part was further readjusted by
selecting a finer mesh. This resulted in more accurate calculations and smoother
geometry.

73 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 62. Results of topology-optimized part

After the part result was obtained, the smooth mesh of the object was created. The smooth mesh
represents the final look of the part. Smoother meshes result in better parts with a better finish. The
weight was readjusted upon visual inspection of the part in the software, ensuring no ‘loose
geometry’ within the part. Loose geometry occurs when material is removed, there is a possibility
of a blob of material being suspended in air, which cannot happen during 3D printing, since it
would result in a bad print.

Figures 63 and 64 display the final topology optimization design of the first link. The process
hollowed out the part, removing unnecessary weight and allowing easier cable management as they
were fed through the cavities created within the links.

74 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 63. Smoothed mesh of the part

The final design of the part has been achieved by exporting the part configuration into
another file as a solid body. Once the updated file was created, Solidworks software
indicated how many solid bodies were present. As previously mentioned, sometimes
material blobs are present, even though they might not be attached to the actual part.

If more than 1 solid body is present, simply hover over the geometry and it will highlight
the region of interest. Sometimes two or three bodies are created. However, the rule of
thumb is to keep the biggest structures highlighted and delete the remainder.

Once only one solid body was present, the file was converted to an STL file, and loaded
for printing.

75 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 64. The final design of the first link

4.1.2 TO of Second Link

The second link of the robot arm is a critical part of the build as it provides a mounting
plate for the gripper. It allows for the third degree of freedom.

After successful topology optimization of the first link, the process was repeated for the
second link of the robot arm, starting with material selection.

PLA material was selected with the mechanical properties shown in Table 7 in section 4.1.1
above. The previous material configuration allowed easy use in this topology optimization
study.

After the correct material was applied to the part design, topology optimization continued
with fixtures. These fixtures describe the relationship between the part and the external
components supporting the structure. The fixtures were applied similarly to the first link,

76 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

with slight modifications to the mounting gripper plate. Figure 65 shows the mounting
holes were considered the additional fixture.

Figure 65. Fixed regions of Link 2

After the fixed regions of the second link were obtained, the next step was to calculate the
external forces acting on the part. Like the first link of the robot arm, gravity was defined
as the first external load acting on the part.

77 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 66. Link 2 external load – gravity

The next external loads considered were the pressure acting on the two cavities for supporting the
shaft. The design of the project ‘link 2’ had the same area measurements for both cavities as for
'link 1’. As the first link exceeded the requirement for the weight needed to be carried by the
second link, it was recommended to use a bigger factor of safety for the link supporting a greater
amount of weight, such as 3, and use a factor of safety 2 for the second link as it only had to bear
its own and the weight of the gripper.

Figure 67. Outer shaft cavity Figure 68. Inner shaft cavity

78 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

As mentioned above, the gripper module will bear a weight of its own, and the weight of the item
being picked up. PVC pipe of diameter 20 mm was selected as a suitable object due to its round
surface area and will provide the tightest clamp.

Figure 69. Force external load

It was crucial to consider the force acting on the gripper while the object is clamped. The system
noise has been reduced to a minimum however, it still exists. Objects with flat surfaces were tested
with the gripper. It was found that while in motion, the object tends to slip and fall out of the gripper
jaws, as the only points of contact between the two surfaces are at the tip of the gripper jaws rather
than snugly fitting along the inner cavity of the gripper jaw in case of the round objects.

79 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Table 8 presents the finalized results table for the second link external loads.

Table 8. Results of external Loads link 2

Load Part Area Value Calculated

Pressure Shaft cavity outer 1995 mm 0.0200501254 MPa

Pressure Shaft cavity inner 1197 mm 0.020030045 MPa

Force Gripper plate 5N 10 N (2FoS)

Gravity Top face 405.08 mm 9.81 m/s

As stated above in section 4.1.1, the desired goal for the robot arm links was to achieve the most
efficient stiffness-to-weight ratio. The desired percentage of reduced mass for link 2 was 40%. To
help prevent the disconnecting of the original geometry of the link, the minimum member thickness
parameter was set at 15mm.

Like the first link, preserved regions were applied to maintain the original part geometry. It was
found that without applying sufficient constraints, the topology-optimized part output by the
software could not have been manufactured due to the lack of and/or disconnected geometry
mentioned in Figure 61. A hollow inside was created in the final part of the project to provide a
solid outside structure. This allowed removing most of the unnecessary material from the part while
maintaining its mechanical properties at a lighter weight. Another benefit of having a hollow part
was to contain the cables from the servo motors inside the robot's body. This resulted in better cable
management and the machine was less likely to disconnect due to cable tangling while the robot
arm was in motion.

Figure 70 below displays the layout of the part ready for the topology optimization process with
fixtures applied, external loads, and preserved regions.

80 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 70. Second Link ready for TO

The final step before running the simulation was to select the size of the software mesh. For
initial testing, the coarse mesh was used due to fast processing. It allowed a rough idea of the part
geometry depending on the constraints applied.

Once the results were compiled, the mesh was finer to provide a more efficient analysis of the
part. Figure 71 displays the final iteration of topology optimization for the second link. Like the
first link, manual adjustments were made at the end of the topology optimization process. This
was to ensure that the whole part is kept neat. It was achieved by either lowering or increasing the
material mass while constantly checking for any blobs of material hanging in space.

81 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 71. Results of topology-optimized part

Like the first link, a smooth solid body of the part was exported into a new file, where the
final adjustments can be made such as checking how many solid bodies are present, and
then converting the file into a STL file ready for printing.

Figure 72 shows the final design of the second link for the robotic manipulator after the
process of topology optimization.

Figure 72. Topology optimization steps for link 2


82 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Table 9 presents the weight data for the two links and compares the actual weight against the
original weight from the simulation. It was found that in both cases the overall weight of the link
had been reduced by nearly 40%. This complies with the initial aim of topology optimization.

The overall weight of both links estimated in the software equals approximately 400 grams, and
the actual weight after topology optimization equals approximately 300 grams (with no motors
attached). Reduced weight benefits the system, allowing easier and smoother motor operation.

Table 9. Overview of part weight reduction

Part Original Estimated Weight Saving % Weight


weight weight Saved

(3D Model,
Aluminuml)

Link 1 0.504 Kg 0.161 Kg 0.343 Kg 68%

Link 2 0.551 Kg 0.135 Kg 0.416 Kg 75%

The base of 1st 0.294 Kg 0.107 Kg 0.187 Kg 63%


link

Total 1.349 Kg 0.403 Kg 0.946 Kg 70%

4.2 Smoothing filter

A smoothing filter was used for potentiometer data to provide a mean of the values
sampled. The mean is compared against the updated mean average values. If a small change
was detected, the code will compare the changed average value and see if it fits within the
threshold specified. If the updated average value is outside the threshold, the position will
be updated. However, if a one- or two-degree change is detected, the arm will not move,

83 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

preventing unnecessary sensitivity and jittering. The smoothing filter operation has been
covered in detail in Chapter 3.3.3 of the report.

This section displays the data collected from the potentiometers before and after the filter
is applied. This is to demonstrate how noise was removed from the system.

Initial testing of the potentiometers showed that without applying the smoothing filter, the
operation of the robot manually, would not be possible.

The graph below displays the data collected from the potentiometers with no smoothing
applied for the base potentiometer of the servo motor.

Figure 73. Results for potentiometer values with no filter

After applying a smoothing filter to the circuit, the noise was reduced significantly. Some
movement is noticed between iterations of the updated potentiometer value. The small jitter
caused by the motor is nothing compared to the initial results obtained from the
potentiometer. This did not allow for the design's functionality. Figure 74 below shows
some of the values received while the base motor idled.

84 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 74. Results with smoothing filter applied

4.3 3D Printing

This section reflects on the learning inherent in the manufacturing of the necessary parts.
It also discusses the results of printed parts and 3D printing associated with the project. It
includes prints of the project that did not match the initial simulation design. Therefore,
they had to be remade to accommodate project functionality.

Before commencing to 3D printing, it was ensured that the correct temperature setting was
applied as various materials have distinct operating temperatures for extrusion. Two
different printers have been used, one with a heated bed and one without. It was found that
the printer without the heated bed caused unacceptable deformation and warping due to the
different cooling rates of the two materials. Therefore, an adhesive mat was necessary to
obtain an accurate print. The printer with the heated bed provided the correct material
adhesion to the print bed throughout the print. Another benefit is that after the print was
done, once the bed cooled down the removal of the part was easier than the adhesion mat.
This influenced the overall finish of the final product. The failed part with the warping of
the material due to different cooling rates can be seen in Figure 75 below.
85 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 75. The failed top plate of the base

One of the first issues experienced with 3D printing was selecting the wrong body format
in Solidworks software while exporting the CAD file. The graphic body was initially set
as the parameter for the first link. It was then converted into an STL file and loaded into
the 3D printer.

The nozzle moved in linear motion while printing causing the round regions to warp. The
transition would only happen along one axis and cause the print to fail immediately, as
shown in Figure 77.

Another issue encountered while printing was poor adhesion between the part and the 3D
printer bed. The object did not stick properly to the bed of the 3D printer causing the
nozzle to shift the part. Over time the magnitude of the shift was so significant that round
sections became oval as seen in Figure 76. The solution was to order the correct adhesive
86 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

mat that stuck to the printer's bed. Once the adhesion between the pad and the part base
was applied, the structure became more rigid as the layers built up.

Another printer was also used in this project. Said printer had a heated bed resulting in
better adhesion of the part being printed, resulting in more stable print.

Other factors, such as filament jamming, were common in the initial stages of printing.

Figure 76. Failed first link Figure 77. Failed base

4.4 MATLAB kinematics simulation

This section of the report discusses the kinematic simulation of the robot arm. An attempt
has been made to develop a simulation in MATLAB software of a robot arm comprised of
3 revolute joints as shown in Figure 78 located on the next page.

87 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 78. Joint frame representation

There is a lot of reference material online about the use of kinematics in robotics, and the
most common robot configuration types are available to access online.

The focus of this simulation was shifted towards obtaining the movement of the robot arm
by forward kinematics using DH parameters. After extensive research in kinematics, I was
able to recreate the forward kinematics model of the 3R robot arm using MATLAB GUI
(Graphical User Interface).

Table 10 below displays the DH table obtained for the forward kinematics model of the
robot arm.

Table 10. DH Table

Axis ai 𝛼𝑖 di 𝜃𝑖

1 0 0 L1 𝜃1

2 0 90° 0 𝜃2

3 L3 0 (-L2) 𝜃3  +  90°

88 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Once the DH parameters were established, the code included in Appendix C was run, creating a
simulation of the robotic arm as seen in Figure 79 located on the next page.

Figure 79. Forward kinematics model

Upon pressing of ‘Forward’ button and specifying the angle position of the 3 joints above, the
software will calculate the forward kinematic model of the arm, and advance to position. Figure
80 below displays a 180° rotation around the manipulator's base.

89 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Figure 80. Forward kinematics 180° rotation around the base

Figure 81 below display the 90-degree rotation of the first link of the robot’s arm.

Figure 81. Forward kinematics 90° rotation around the shoulder

90 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

5. Conclusions and Recommendations

This chapter reviews the entire project against the problem definition, aims, and objectives.
It also contains an evaluation of the project. It outlines the most significant aspects of the
project and recommendations for any further enhancements or expansions to the robotic
manipulator.

5.1 Conclusions

This project successfully met the project proposal objective. The project was built to
recreate the movement of a 3DOF articulated robot arm configuration that performs a pick-
and-place task. The arm is also topology optimized to ensure light arm links. The
implementation of automatic mode and manual mode allows the robotic manipulator to
operate as if in a manufacturing environment, fulfilling the objectives.

This project features the robotic manipulator's movement and the pick-and-place function.
The robot arm is controlled by mapping the ADC values to the servo motor position. These
values were found by manually adjusting the potentiometer and reading the values at the
desired positions. Once satisfied with the arm positioning, a look-up table is created, where
these hardcoded positions are kept and used for arm movement. Ideally, for more accurate
joint interpolation, forward and inverse kinematics are used for industry-grade robots.
Kinematic equations are obtained in MATLAB software for both forward and inverse
kinematics. It was found that mathematical computations were quite cumbersome and
difficult to comprehend for both kinematic equations. A successful simulation model of a
3R (3 revolute) joint robot arm is created only for forward kinematics. However, translating
simulation results into real-world projects was challenging. Therefore, we use a simpler
way of writing joint angle values for each motor.

Another issue encountered while working on joint movement was the reading from
potentiometer values. While in ‘pot control’ mode noticeable noise was produced while
integrating all motors at once. A low pass filter is used within the circuit as well as a
91 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

smoothing filter. This filter takes an average of a specified number of samples read from
the potentiometer and maps the average value. The use of said filter has greatly minimized
noise generated while motors ran at full capacitance.

The ‘Auto mode’ generates issues while performing a sequence of moves for the pick and
place task. Initially, components were tested with a 9V battery generating approximately
0.9 A. When testing the ‘Pot control’ mode, there were no issues after applying the filter.
However, when switched to ‘Auto mode’ the arm seemed to drag its gripper on the base
and not get enough power. Using an external power supply set at 5V showed that the
maximum current is drawn while at full capacitance was just under 2A. This resulted in
changing the power supply used to a Lithium-ion battery which provides increased Amps
and stabilizes the system's shakiness.

The actual robot arm size is an issue. A base platform of 500 mm x 500 mm x 60 mm is
created to mount the arm and provide it with a square working area. With the arm span of
over 20cm, and the other components mounted, there is not much room for storing the work
objects to be picked. In addition, the full arm range has not been used.

The weight of the robot arm created an issue of the base not being stable enough to withhold
the whiplash of the robot arm when it came to a halt, resulting in very visible vibration,
therefore not being compliant. A second base design was constructed after initial testing
failed. As opposed to a chamfered edge at the top of the structure, there is now a 'lip' that
limits the overall play of the top plate. There are 4 mounting holes for the ‘L’ shaped
brackets at the side of the circular disc. Said parts were also printed with a higher
percentage of infill to ensure maximum base part weight.

The second design significantly improved the stability of the system and allowed for further
testing of the system.

The printing of parts was challenging at times due to a lack of previous experience. Most
of the project was 3D printed. Any inconvenient error such as filament jam, wrong
geometry file, or incorrect measurement resulted in delaying further testing and integration
of the build. Overall, 3 weeks were spent improving the design, especially shaft clearances.
What seemed to fit in the Solidworks simulation did not fit after printing due to the
92 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

resolution at which the parts were printed. 3D printers usually have broader tolerances than
CNC machines and are not perfectly accurate.

Overall, the project achieved full functionality in three modes. The design is reduced in
weight by the stated weight and the pick and place operation performs well. The joint
movement is smooth, and the robot arm presents no issues.

Topology optimization and robotics and kinematics are expansive topics in the industry.
Major research is carried out and robot functionality is constantly improved. It is reflected
in the price, ranging from a couple of hundred euros to tens of thousands of euros for a
single manipulator, which can determine the precision, accuracy, reliability, and overall
performance of the system. It is very impressive how robots are so versatile and used in a
variety of applications. This includes stacking pallets, and welding, to performing medical
surgery operations on living beings.

5.2 Recommendations

If this project were redone, certain recommendations and modifications would be applied
to increase robotic arm performance.

A major recommendation is that the robotic manipulator be used with both kinematic
equations. Robotic arm kinematic models are believed to be more precise and accurate
when under motion. Positions are represented by mathematical calculations for joint
interpolation. Locations such as ‘work’ or ‘storage’ locations are visualized in
Roboanalyzer software. This approach would be more predictable for where the robot arm
is placed in space rather than working out the compatible locations by the “trial and error”
method.

Another worthwhile suggestion would be implementing PID control within the system.
This would allow the robot arm to sufficiently slow down before reaching its desired
position. In addition, it would allow for overall better control of speed. It was found that
with the current configuration when the robot arm reaches its destination, a small vibration
is noticeable due to the sudden stop of the motor. This can result in the slipping of the

93 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

object being held by the gripper, which is not acceptable for certain applications. This could
be implemented by mounting another potentiometer on the shaft of the motor. This is to
ensure that as the potentiometer is rotated, the output signal rotates as the shaft is connected
to the second potentiometer. The idea is that as the difference between the two
potentiometer values gets smaller, so is the output signal – in this case, speed. This allows
for a gradual stop and more controlled movement of the manipulator.

Servo motor placement should also be reconsidered. It was found that the initial mounting
holes for the servo motor were not functional, so the motors were attached to the opposite
link with 2 M4 screws. It provides stability for the motor; however, the shoulder link motor
was found to be susceptible to vibration especially when coming to a halt. A better
alternative would be a mounting bracket that holds the servo motor securely in place
without slippage.

Lastly, the smoothing averaging filter for the potentiometer worked but delayed the
system's reaction due to scanning 20 values and then mapping the average. Better quality
potentiometers with tight tolerances should be used to minimize noise induced by the
potentiometer.

Regarding the mechanical aspect of the project, it is believed that the robot arm base would
perform better if made from metal such as aluminium. This would add mass and stability
to the build. ADC motor could also benefit from the design by giving it a full 360° rotation
around its centre, which would increase the manipulator's work envelope.

94 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

REFERENCES

1. uk.rs-online.com. (n.d.). Everything You Need To Know About Robotic Arms | RS [online
].https://uk.rs-online.com/web/content/discovery/ideas-and-advice/robotic-arms-guide. [
accessed October 12, 2022]
2. Norton, Robert L. (2008). "2". Design of Machinery (4th ed.). Boston, MA: McGraw Hill
Higher Education. p. 33. ISBN 978-0-07-312158-1. [accessed October 12, 2022]
3. Robotics Research Group. "Joint Types". University of Texas at Austin. Archived from the
original on 2009-03-11. Retrieved 2009-02-04. [accessed October 12, 2022]
4. Joint-aware Manipulation of Deformable Models - Scientific Figure on ResearchGate.
Available from: https://www.researchgate.net/figure/Geometric-invariants-of-revolute-and-
prismatic-joints-as-follows_fig1_220183822 [accessed 12 October 2022].
5. uk.rs-online.com. (n.d.). Everything You Need To Know About Robotic Arms | RS [online
].https://uk.rs-online.com/web/content/discovery/ideas-and-advice/robotic-arms-guide. [
accessed October 19, 2022]
6. Darshana Chandrasekara, H. (no date) Asian Institute of Technology, ise.ait.ac.th. Available at:
http://ise.ait.ac.th/wp-content/uploads/sites/57/2020/12/3-DOF-Scara-Robot-Thesis.pdf [
accessed October 19, 2022]
7. docs.arduino.cc. (n.d.). Analog Read Serial | Arduino Documentation [ accessed October 19,
2022 ] https://docs.arduino.cc/built-in-examples/basics/AnalogReadSerial.
8. Wikipedia. (2021). Programmable Universal Machine for Assembly [accessed October 26,
2022 ] https://en.wikipedia.org/wiki/Programmable_Universal_Machine_for_Assembly.
9. Encyclopedia Britannica. (n.d.). Robotic surgery - Robotic procedures [accessed 26 October
2022] https://www.britannica.com/science/robotic-surgery/Robotic-procedures.
10. robodk.com. (n.d.). PUMA 560 robot - RoboDK [online ]. Available at:
https://robodk.com/robot/PUMA/560 [Accessed 10 Apr. 2023 ]..
11. Zhang, Dan; Wei, Bin (2016). Mechatronics and Robotics Engineering for Advanced and
Intelligent Manufacturing. Cham: Springer. p. 31. ISBN 978-3-319-33580-3. [Accessed
November 2, 2022]
12. Mingtu, Ma; Yisheng, Zhang (2018). Advanced High Strength Steel And Press Hardening -
Proceedings Of The 4th International Conference On Advanced High Strength Steel And Press
Hardening (Ichsu2018). Singapore: World Scientific. p. 526. ISBN 978-981-327-797-7.
[accessed November 2, 2022]
13. Collins, D. (2015). When Do You Need a Gantry Robot? [accessed November 5,
2022]https://www.linearmotiontips.com/when-do-you-need-a-gantry-robot/.
14. All on Robots, (n.d.). Cartesian robots – All On Robots [accessed November 5, 2022].
Available at: https://www.allonrobots.com/cartesian-robots/.
15. Robotic Automation Systems. (2022). What is a Work Envelope by Robotic Automation
Systems [online ]. Available at: https://www.roboticautomationsystems.com/blog/what-is-a-
work-envelope/#:~:text=A%20work%20envelope%20is%20generally [Accessed 20 Apr. 2023
]..
16. thnet.co.uk. (n.d.). Robot Working Envelopes [access November 10, 2022]
http://thnet.co.uk/thnet/robots/25.htm.
17. www.youtube.com. (2016). Four Main Types of Robotic Arm Geometry. [accessed November
10, 2022] https://www.youtube.com/watch?v=R0eJXe6R8vY.
18. Engineering Product Design. (n.d.). What is Topology optimization? [accessed December 7,
2022] https://engineeringproductdesign.com/knowledge-base/topology-optimization/.
95 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

19. Formlabs. (n.d.). Topology Optimization 101: How to Use Algorithmic Models to Create
Lightweight Design [accessed December 10, 2022]https://formlabs.com/eu/blog/topology-
optimization/.
20. help.solidworks.com. (n.d.). 2021 SolidWorks - SIMP Method for Topology Optimization
[accessed December 10, 2022]
https://help.solidworks.com/2021/English/SolidWorks/cworks/c_simp_method_topology.htm
21. www.neuralconcept.com. (n.d.). Topology Optimization VS Generative Design [Accessed 20
Apr. 2023] https://www.neuralconcept.com/post/topology-optimization-vs-generative-
design#:~:text=Topology%20optimization%20occurs%20in%20mature
22. Engineering Product Design. (n.d.). What is Topology optimization? [Accessed 20 April 2023]
https://engineeringproductdesign.com/knowledge-base/topology-optimization/.
23. #HowToRobot. (2022). Robot Grippers and End Effectors: Uses, Benefits, and Cost Analysis
[accessed January 04, 2023] https://www.howtorobot.com/expert-insight/robot-end-effectors.
24. Venkata, P., Reddy, P. and Suresh, S. (n.d.). A REVIEW ON IMPORTANCE OF UNIVERSAL
GRIPPER IN INDUSTRIAL ROBOT APPLICATIONS [accessed January 04, 2023]
http://www.ijmerr.com/uploadfile/2015/0402/20150402045537914.pdf.
25. pdf1.alldatasheet.com. (n.d.). MG996R pdf, MG996R description, MG996R datasheets,
MG996R view ::: ALLDATASHEET ::: [accessed January 17 2022]
https://pdf1.alldatasheet.com/datasheet-pdf/view/1131873/ETC2/MG996R.html.
26. motion.cs.illinois.edu. (n.d.). Kinematics [accessed November 15, 2022]
http://motion.cs.illinois.edu/RoboticSystems/Kinematics.html.
27. Ramish, Hussain, S.B. and Kanwal, F. (2016). Design of a 3 DoF robotic arm [accessed
November 15, 2022] IEEE Xplore. Doi https://doi.org/10.1109/INTECH.2016.7845007.
28. Joint-aware Manipulation of Deformable Models - Scientific Figure on ResearchGate.
Available from: https://www.researchgate.net/figure/Geometric-invariants-of-revolute-and-
prismatic-joints-as-follows_fig1_220183822 [accessed 11 April 2023 ].
29. grabcad.com. (n.d.). Free CAD Designs, Files & 3D Models | The GrabCAD Community
Library [online ]. Available at: https://grabcad.com/library/gripper-kit-b-1 [Accessed 6 Apr.
2023 ].
30. Nagarajan V, Mohanty AK, Misra M (2016). "Perspective on Polylactic Acid (PLA) based
Sustainable Materials for Durable Applications: Focus on Toughness and Heat
Resistance". ACS Sustainable Chemistry & Engineering. 4 (6): 2899–
2916. doi:10.1021/acssuschemeng.6b00321. [accessed April 25, 2022]
31. reference.arduino.cc. (n.d.). map() - Arduino Reference [online ]. [accessed April 20, 2023]
https://reference.arduino.cc/reference/en/language/functions/math/map/
32. Elevated Temperature Wear Behavior of Aluminium Alloy (Al 6061) - Scientific Figure on
ResearchGate. Available from: https://www.researchgate.net/figure/Mechanical-properties-of-
Al-6061-AND-EN31-alloy_tbl1_328580734 [accessed 22 Apr 2023 ].
33. All on Robots, (n.d.). Cartesian robots – All On Robots [accessed]. Available at:
https://www.allonrobots.com/cartesian-robots/.
34. "Material Properties of Polylactic Acid (PLA), Agro Based Polymers". Matbase - Material
Properties Database. Accessed 22/04/2023
35. Tractus 3D, 2020. “PLA Filament” [Internet] https://tractus3d.com/materials/pla/ [Accessed
April 25, 20220

96 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Appendix A Project Planning

Semester 1

1|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Semester 2

2|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Appendix B Design Drawings & Component Specifications

1|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

2|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

4|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

5|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

6|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

7|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

8|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

9|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Standard Gripper Kit A

Source: https://www.servocity.com/standard-gripper-kit-a/

Source: https://www.servocity.com/standard-gripper-kit-a/

10 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Appendix C List of Software Code

MATLAB Forward kinematics

Th_1 = str2double(handles.Theta_1.String)*pi/180;

Th_2 = str2double(handles.Theta_2.String)*pi/180;

Th_3 = str2double(handles.Theta_3.String)*pi/180;

L_1 = 20;

L2 = 50;

L_3 = 40;

L(1) = Link([0 L_1 0 pi/2 ].);

L(2) = Link([0 0 L_2 0 ].);

L(3) = Link([0 0 L_3 0 ].);

Robot = SerialLink(L);

Robot.name = "3R_Robot";

Robot.plot ([Th_1 Th_2 Th_3 ].);

T = robot.fkine([Th_1 Th_2 Th_3 ].);

handles.Pos_X.String = num2str(floor(T(1,4)));

handles.Pos_Y.String = num2str(floor(T(2,4)));

handles.Pos_Z.String = num2str(floor(T(3,4)));

11 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

ArduinoIDE software code

12 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

13 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

14 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

15 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

16 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

17 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

18 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

19 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

20 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

21 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

22 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

23 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Appendix D Relevant Standards

Source: https://learn.adafruit.com/16-channel-pwm-servo-driver/downloads
1|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Source:https://www.researchgate.net/figure/Arduino-MEGA-2560-Schematics-licensed-under-CC-BY-SA-license-
26_fig1_354574171
2|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Appendix E Other Technical or Data Appendices

Technical documents such as standards, component specifications, formulae sheets, and


formulae derivations may be included in this appendix.

¼’’, 0.77’’ Aluminium bored claping hub

Source:https://eu.robotshop.com/products/actobotics-1-4-bore-077-aluminum-clamping-
hub?gclid=Cj0KCQiAxbefBhDfARIsAL4XLRpAn5JWsC7z_dSvhajcVrfRcumUA-
2sPipiESG2VJVkKQz3MD2JO70aAingEALw_wcB

1|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Rotary Potentiometer P160 10kΩ

2|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

3|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

4|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Arduino Mega 2560 Rev 3

5|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Source: https://docs.arduino.cc/static/199137a215b672928cec423c75e3fce3/A000067-
datasheet.pdf

6|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Servo Motor MG996R

7|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Source: https://www.electronicoscaldas.com/datasheet/MG996R_Tower-Pro.pdf

Motor Control Board PCA9685


8|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

9|Page
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

10 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

11 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Source:https://www.alldatasheet.com/view.jsp?Searchword=Pca9685%20datasheet&gclid=Cj0KCQjw_r6hBhDdAR
IsAMIDhV-t_XDXDLtMQN4A3gaZFiPGfLYZ7Kv_siCBvRarS_VIegpDVUG-0WYaAiwgEALw_wcB

12 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Voltage regulator LM 7805

13 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

14 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

15 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

16 | P a g e
Mikolaj Iwaniec Bachelor of Engineering (Honours) In Mechatronics

Infrared gravity Adjustable Sensor

Source:https://cdn.robotshop.com/media/d/dfr/rb-dfr-
787/pdf/gravity__digital_adjustable_infrared_proximity_sensor_for_arduino_0_200_cm_-
_dfrobot_electronic_product_wiki_and_tutorial__arduino_and_robot_wiki-dfrobot.pdf

17 | P a g e

You might also like