Design and Development of a Robotic Arm with
obstacle avoidance
PROJECT REPORT
SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENT FOR
THE AWARD OF THE DEGREE OF
BACHELOR OF TECHNOLOGY
Mechanical Engineering
SUBMITTED BY
Raj Vardhan - 20213033
Saurabh Kumar - 20213029
Pushpendra Verma - 20213145
Priyanshu Bhushan-20213026
Mechanical Engineering Department
MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY ALLAHABAD PRAYAGRAJ -
211004, INDIA
December 2024
Candidate's Declaration
We hereby certify that the work which is being presented in the project report entitled “Design and
Development of a Robotic Arm with obstacle avoidance” in partial fulfillment of requirements for
the award of degree of Bachelor of Technology in Mechanical Engineering at MOTILAL NEHRU
NATIONAL INSTITUTE OF TECHNOLOGY ALLAHABAD is an authentic record of our work
carried out during a period from August 2024 to December 2024 under the supervision of Dr. S.B.
Mishra. The matter embodied in the thesis has not been submitted to any other University / Institute
for the award of any degree.
Signature of the Students
Raj Vardhan - 20213033
Saurabh Kumar - 20213029
Pushpendra Verma - 20213145
Priyanshu Bhushan-20213026
This is to certify that the above statement made by the candidates is correct to the best of my
knowledge.
Signature of Supervisor (s)
Date: Dr. S.B. Mishra
Place:
[2]
Acknowledgements
We would like to express our sincere gratitude to the Mechanical Engineering Department of MNNIT
Allahabad for their continuous encouragement and support during this endeavour. Our initiative has
been greatly influenced by the department's commitment to creating a collaborative academic
environment, granting access to cutting-edge facilities, and receiving advice from renowned faculty
members.
We would especially want to express our gratitude to Dr. S.B. Mishra, our project mentor, for his
important advice, unwavering support, and wise recommendations during this project. Their
knowledge and guidance have been essential in helping us overcome obstacles and finish our task
successfully.
With deep appreciation, we recognize the crucial part the department and our mentor played in
supporting our academic and research endeavours and making this project possible.
Raj Vardhan - 20213033
Saurabh Kumar - 20213029
Pushpendra Verma - 20213145
Priyanshu Bhushan-20213026
[3]
Abstract
The design and development of a robotic arm with obstacle avoidance represents a significant
advancement in industrial automation and robotics. The goal of this project is to build a 6-DOF
robotic arm that can precisely pick and put objects and is adaptable to changing conditions. The arm is
designed to function well under a variety of circumstances, offering accuracy and flexibility while
performing its duties.
The design improves operating dependability, accuracy, and mechanical efficiency by building on
previous developments. Smooth, accurate motions are guaranteed by a strong linkage system that also
preserves structural integrity and reduces wear. The design maximizes performance by emphasizing
lightweight construction using 3D-printed PLA material. By pushing the limits of robotic arm
functioning with creative mechanical design and cutting-edge motion planning techniques for more
effective and flexible systems, the project has great potential for industrial automation, material
handling, and other precision-driven jobs.
[4]
Table of Contents
S. No. Title Page No.
1 Candidate's Declaration 2
2 Acknowledgements 3
3 Abstract 4
4 Table of Content 5-7
5 List of Figures 8
6 List of Tables 9
7 Chapter 1: Introduction 9-10
1.1 Background and Motivation 9
1.2 Objective of the Project 10
8 Chapter 2: Overview of Robotic Arm Technology 11-13
2.1 Key Features 11
2.2 Structure and Components 12
2.3 Applications of Robotic Arm 12
2.4 Advantages of Robotic Arm 13
9 Chapter 3: Mechanical Design of Robotic Arm 14-22
3.1 Key Design Specifications 14-15
3.2 Determination of Torque Requirement of Joints 16
3.2.1 Calculation Method 16
[5]
3.2.2 Torque at Each Joint 16-18
[6]
3.2.3 Value of torque for different payload 19
3.3 Motor Selection 20
3.4 Calculation for Maximum Payload 21
3.5 Range of the Robotic Arm 22
10 Chapter 4: Kinematic Analysis of Robotic Arm 22-27
4.1 Types of Joints 22
4.2 Kinematics 23
4.3 Denavit-Hartenberg (DH) Convention 24
4.3.1 Denavit-Hartenberg Convention to assign 24
frame
4.3.2 DH Parameters 25
4.3.3 Homogeneous Transformation Matrix 26
4.3.4 Steps to Apply DH Convention 27
11 Chapter 5: Approach to Robotic Arm Kinematics 28-30
5.1 Tools and Programming Environment 29
5.2 Kinematics Code Flow for Robotic Arm 29-30
5.3 Flowchart of Kinematics Code 31
12 Chapter 6: Results and Discussion 32
13 References 34
[7]
List of Figures
S. No. Figure Page No.
[8]
List of Tables
S. No. Table Page No.
1 Table 3.1: Table outlining the joint specifications of a
6-DOF robotic arm, including their movement types,
ranges of motion, and functional purposes.
[9]
Chapter 1
Introduction
Robotic arms are now essential in many industries because they can efficiently and
precisely carry out activities like material handling, assembly, and pick-and-place
operations. Obstacles in the arm's operating environment, however, provide a significant
barrier to industrial automation since they can disrupt operations, decrease task efficiency,
and possibly harm the robotic arm as well as nearby equipment. The efficacy of traditional
robotic arms in dynamic situations with frequent impediments is limited by their frequent
inability to identify and avoid obstructions.
This project aims to overcome these limitations by designing and developing a robotic arm
with obstacle avoidance capabilities. The project intends to enhance the arm's versatility,
accuracy, and overall efficiency by combining advanced motion planning techniques with
a robust mechanical design, making the arm a more reliable tool for industrial applications
where the environment may change quickly. The arm is designed to dynamically explore
its environment so that it can continuously carry out tasks like pick-and-place work.
1.1 Background and Motivation
Robotic arms have revolutionized industrial automation by performing repetitive and
precise tasks like pick-and-place operations, assembly, and material handling. Especially in
production environments, these technologies offer notable gains in productivity, accuracy,
and efficiency. However, robotic arms frequently operate in challenging and dynamic
[10]
surroundings in real-world settings, where obstructions may impede their progress and
cause them to pause their jobs.
Inefficiencies, possible harm to the arm and surrounding equipment, and a greater need for
human intervention result from the incapacity to recognize and steer clear of such
obstructions. The goal of this research is to overcome this constraint by creating a robotic
arm that can maneuver around obstructions and function smoothly under changing
conditions.
1.2 Objective of the Project
In order to assure its adaptability in dynamic contexts, the project's goal is to design and
construct a six-DOF robotic arm that can conduct pick-and-place tasks with high precision
and incorporate obstacle avoidance. The project's goal is to develop a mechanical design
that is dependable, effective, and capable of handling unforeseen challenges while in use.
The robotic arm will be able to identify barriers in its surroundings and change its course in
response by incorporating sophisticated motion planning techniques, guaranteeing optimal
task performance and continuous operation.
[11]
Chapter 2
Overview of Robotic Arm Technology
Robotic arm technology refers to programmable mechanical devices designed to replicate
the motion and functionality of human arms. They are integral to automation, offering
precision, repeatability, and efficiency in tasks ranging from industrial production to
advanced research.
2.1 Key Features
Degrees of Freedom (DOF):
Robotic arms typically feature multiple degrees of freedom, representing independent
movements. For industrial applications, 6-DOF arms are standard, allowing precise spatial
positioning and orientation.
Kinematics:
Forward Kinematics: Calculates the position of the end-effector based on joint angles and
link lengths.
Inverse Kinematics: Determines joint angles to achieve a desired position, critical for
precision tasks.
Control Systems:
Microcontrollers, PLCs (Programmable Logic Controllers), or specialized robotic software
can be used to drive robotic arms, allowing for real-time operation and flexibility.
[12]
2.2 Structure and Components
Base: Provides stability and houses motors for rotational motion.
Joints and Links: Allow rotational or translational movement, determining the range of
motion.
Actuators: Motors (servo, stepper, or pneumatic) that drive joint movements.
Sensors: Include ultrasonic, vision, and force sensors for feedback, obstacle detection, and
precise positioning.
End-Effector: Tools such as grippers, welders, or screwdrivers attached to the arm's
endpoint for performing tasks.
Controller: The processing unit that interprets commands and controls the arm's
movements.
2.3 Applications
Industrial Automation:
Robotic arms enhance manufacturing by carrying out repetitive tasks such as welding,
painting, assembly, and pick-and-place operations. They reduce human interaction in
dangerous situations, increasing efficiency, accuracy, and safety.
Healthcare:
High-precision minimally invasive surgical treatments are made possible by robotic arms
such as the Da Vinci system. In rehabilitation therapy, they help patients regain their
mobility, and in prostheses, they mimic natural movements.
Automotive Industry:
[13]
Robotic arms are essential to the welding, painting, and assembly of parts like doors and
engines in the automobile industry. Their purpose is to expedite production lines and
guarantee superior finishing.
Electronics Manufacturing:
Robotic arms can be utilized to assemble circuit boards by precisely handling small parts.
In high-tech settings, they carry out duties like soldering, microchip placement, and quality
control.
Agriculture:
High yield and less waste are ensured by the employment of robotic arms in tasks
including accurate planting, automated fruit and vegetable harvesting, and sensor-based
crop health monitoring.
2.4 Advantages of Robotic Arms
Precision and Accuracy:
Robotic arms can achieve high levels of precision, ensuring accurate and dependable
results. This is especially helpful in industries like electronics manufacturing where exact
tolerances are crucial.
Repeatability:
The ability of robotic arms to do repeated, boring tasks reduces the likelihood of errors and
ensures consistency in processes like painting or assembly.
Precision and Accuracy:
Robotic arms can achieve high levels of precision, ensuring accurate and dependable
results. This is especially helpful in industries like electronics manufacturing where exact
tolerances are crucial.
Repeatability:
[14]
Robotic arms can do repetitive, boring tasks, reducing the chance of error and ensuring
uniformity in processes like painting or assembly.
Chapter 3
Mechanical Design of Robotic Arm
The mechanical design of a robotic arm must have many essential phases to ensure that the
arm can do its intended tasks with accuracy, strength, and efficiency. The processes in the
mechanical design process are summarized below, together with payload, torque, weight,
and hardware selection calculations.
3.1 Key Design Specifications:
The design of a robotic arm begins with understanding the specific tasks the arm is
intended to perform and the environment in which it will operate. The key design
considerations are ensuring flexibility, precision, and strength while optimizing efficiency.
Degrees of Freedom (DOF):
Six degrees of freedom are built into the robotic arm's design to allow for complete spatial
movement. This enables the arm to rotate around each of the X, Y, and Z axes in addition
to moving along them. For intricate activities requiring a high degree of precision and
flexibility, including pick-and-place, a 6-DOF arm is perfect.
Range of Motion:
[15]
For a pick-and-place robotic arm, the standard range of motion for each joint is designed to
ensure maximum coverage of the workspace.
Table 3.1: Table outlining the joint specifications of a 6-DOF robotic arm, including
their movement types, ranges of motion, and functional purposes.
Joint Type of Movement Range of Purpose
Motion
Base Rotation Rotation around ±180° Provides horizontal
(Joint 1) vertical axis reach and full
workspace coverage.
Shoulder Rotation Vertical rotation ±90° Controls the arm’s
(Joint 2) elevation and vertical
movement.
Elbow Rotation Extension and ±135° Allows for extending
(Joint 3) retraction and retracting the arm
for reach and flexibility.
Wrist Pitch Pitch (tilt) of the ±90° Controls the pitch of the
(Joint 4) end-effector end-effector to precisely
place objects.
Wrist Yaw Rotation of the end- ±90° Provides rotational
(Joint 5) effector flexibility to orient
objects during
operations.
Wrist Roll Rotation around the ±180° Allows for orienting
[16]
(Joint 6) end-effector objects and fine
adjustments during
pick-and-place tasks.
3.2 Determination of Torque Requirement of Joints:
An actuator is installed at each joint in a robotic arm design to provide motion and
overcome the arm's links' resistance. The two main causes of motion resistance are inertia
and gravity. Each joint must have enough torque to counteract the resistive forces brought
on by these elements, especially gravity. To choose an actuator with the right torque rating,
it is essential to calculate the gravity-induced resistive torque operating on each link of the
robotic arm, which is covered in this section.
3.2.1 Calculation Method:
The resistive torque T due to gravity acting on a link can be calculated as:
Τ =r . W .sin (θ)
Where:
r = distance from the joint to the center of mass of the link (length of the link or lever arm).
W = weight of the link = 𝑚⋅g
θ = angle between the link and the direction of gravity (90° for horizontal, as gravity acts
directly downward).
3.2.2 Torque at Each Joint:
Base Joint (T1g):
[17]
The waist rotation does not cause motion of any link in the vertical plane (i.e. against
gravity).
T 1 g=0 Nm
Shoulder Joint (T2g):
The shoulder joint experiences the highest torque when the arm is fully extended
horizontally, as it has to support the weight of the entire arm, including the links attached
to the elbow and wrist.
T 2 g=W 2 (L2/2)+Wj 3(L 2)+W 3(L 2+ L 3/2)+(Wj 4 +W 4 +W 5+Wgripper +Wpayload)(L 2+ L 3)
Elbow Joint (T3g):
The elbow joint experiences torque based on the weight of the forearm. The torque at the
elbow will be highest when the arm is stretched out, and the forearm is extended.
T 3 g=W 3(L3 /2)+(Wj 4+ W 4+ W 5+Wgripper +Wpayload)(L 3)
Joint4 (T4g):
This joint experience torque based on the weight of the end-effector (gripper or tool) and
the wrist components. Similar to other joints, the torque will be greatest when the arm is
fully extended, with the end-effector farthest from the base.
T 4 g=W 4( L 4/2)+(W 5+Wgripper + Wpayload)(L 4)
Joint5 (T5g):
This joint experience torque based on the weight of the end-effector (gripper or tool) and
the wrist components.
T 5 g=(Wgripper +Wpayload )∗L 5
Joint6 (T6g):
[18]
Opening and closing of gripper jaws does not result in motion against gravity
T 6 g=0 N−m
Where:
T1g to T6g - The Resistive torques at each joint due to gravity
W1 to W5 - The weights of links L1 to L5
Wj1 to Wj5 - The weights of joints 1 to 5 (motor)
Wgripper - The weight of the gripper
Wpayload - The weight of the payload
L2 to L5 - The lengths of links L2 to L5
Table 3.2: Table showing the lengths and masses of the links in a robotic arm.
Link Length:
Link Length(mm)
L2 120
L3 90
L4 28
L5 88
Mass of Links:
Link Mass (gram) Weight (N)
W2 80 0.78748
[19]
W3 63 0.61797
W4 21 0.20601
W5 20 0.19622
Wgripper 26 0.25494
Wj 55 0.53955
[20]
3.2.3 Value of torque for different payload:
To determine the optimum payload for a 6-DOF robotic arm, calculate the torque required
at each joint for various payload weights using the provided formulas. When one or more
joints surpass their torque limits, the maximum payload is reached.
Table 3.3: Table showing the required joint torques for a robotic arm for two different
payload weights.
(i) For Wpayload=100g
Joint Torque(Nm) Joint Torque
T1g 0 T4g 0.043
T2g 0.671 T5g 0.054
T3g 0.224 T6g 0
[21]
(ii) For Wpayload=200g
Joint Torque(Nm) Joint Torque
T1g 0 T4g 0.043
T2g 0.671 T5g 0.054
T3g 0.224 T6g 0
(iii) For Wpayload=300g
Joint Torque(Nm) Joint Torque
T1g 0 T4g 0.0979
T2g 1.0832 T5g 0.1407
T3g 0.4004 T6g 0
3.3 Motor Selection:
In order to overcome the resistive forces at each joint, the robotic arm for this project needs
actuators that can produce enough torque. According to the torque calculations, the servo
motors listed below have been chosen.
MG996R Servo Motor:
The MG996R is chosen for its high torque capacity, making it ideal for supporting the
heavier links closer to the base, where the torque requirements are higher due to the
combined weight of the arm's links and payload.
SG90 Servo Motor:
The SG90 servo motor is selected for its compact size and lower torque requirement,
which is suitable for the wrist joints that experience lighter loads.
[22]
Table 3.4: Table comparing the torque and speed performance of two servo motors.
Torque Rating:
Motor Torque Rating-(at 4.8V) Torque Rating-(at 6.6V)
MG996R 0.921 Nm 1.079 Nm
SG90 0.117 Nm 0.157 Nm
Operating Speed:
Motor Operating Speed-(at 4.8V) Operating Speed-(at 6.6V)
MG996R 5.51 rad/s 6.98 rad/s
SG90 6.98 rad/s 8.73 rad/s
3.4 Calculation for Maximum Payload:
The maximum payload of the robotic arm is determined by calculating the torque at each
joint for different payloads and comparing it with the torque capacities of the servo motors.
The SG90 has a maximum torque of 0.1568 Nm, whereas the MG996R, which is utilized
for the first three joints, has a maximum torque of 1.079 Nm. The worst-case situation, in
which the arm is fully stretched horizontally and the torque is at its maximum, is assumed
in the calculations. The heaviest load for which all joint torques stay within the motors'
bounds and guarantee safe and effective operation is known as the maximum payload.
From the above analysis of torque results for various payloads and the torque capacities of
the selected motors, it was determined that the maximum payload the robotic arm can
lift without failure is 200 g. This ensures that the calculated torques at all joints remain
[23]
within the maximum torque limits of the MG996R and SG90 servo motors, ensuring safe
and efficient operation of the robotic arm.
3.4 Range of the Robotic Arm:
The maximum distance a robotic arm can go from its base to the end-effector when fully
extended is referred to as its range. When the arm is fully extended in a straight line, this is
computed as the sum of the link lengths.
When fully extended in a straight line, the total range is 326 mm. This range ensures that
the robotic arm can effectively perform pick-and-place tasks within its designated
workspace, maximizing its operational capability.
Chapter 4
Kinematic Analysis of Robotic Arm
Understanding an arm's motion without taking into account the forces or torques at play is
the main goal of kinematic analysis. It encompasses ideas like inverse kinematics, which
establishes the necessary joint angles for a specified end-effector position, and forward
kinematics, which computes the end-effector's position and orientation based on joint
parameters. In addition, the study models the arm's movements using Denavit-Hartenberg
(DH) parameters and links joint velocities to the end-effector's velocity using the Jacobian
matrix. In order to provide precise movement in applications like pick-and-place,
assembly, and path planning, this analysis is crucial for developing the arm's control
system.
[24]
4.1 Types of Joints:
Revolute Joints:
Revolute joints, like a door's hinge, permit rotation along a fixed axis. Because they allow
for angular movements at the wrist, elbow, and shoulder, they are the most often utilized
joints in robotic arms. These joints are crucial for articulated robotic arms because they
offer the flexibility needed for complex jobs and precise positioning.
Prismatic Joints:
The arm can extend or retract thanks to prismatic joints, which allow linear motion in a
straight line. They are frequently utilized in telescopic or scissor-lift devices, among other
applications where straight-line movement is crucial. For activities requiring simple and
accurate translational motion, these joints are essential.
4.2 Kinematics:
Forward Kinematics (FK):
In forward kinematics, the end-effector of a robotic arm is positioned and oriented
according to known joint characteristics, such as linear displacements for prismatic joints
or angles for revolute joints. The overall position and orientation of the end-effector in the
workspace is determined by multiplying transformation matrices that represent the motion
of each joint according to the Denavit-Hartenberg (DH) protocol. For tasks like trajectory
planning and simulating robotic arm movements, forward kinematics offers a simple
solution and is crucial.
[25]
Figure 4.1: Forward and inverse kinematics in robotics
Inverse Kinematics (IK):
Inverse kinematics is the process of figuring out the joint parameters needed to get the end-
effector in the desired position and orientation. Inverse kinematics is more complicated
than forward kinematics and frequently results in different solutions, no solution, or
singularities. In order to solve a set of nonlinear equations, iterative numerical methods or
geometric approaches are usually used. Real-world applications like as pick-and-place
tasks, where exact control over the end-effector's position is required, depend heavily on
inverse kinematics.
4.2 Denavit-Hartenberg (DH) Convention:
A standardized technique in robotics for representing the spatial relationship between
successive links of a robotic arm is the Denavit-Hartenberg (DH) convention. By
specifying a set of parameters for every joint and link, it simplifies the intricate kinematic
equations. These parameters are then utilized to determine the transformation matrices.
The end-effector's position and orientation can be systematically calculated thanks to these
matrices.
4.2.1 Denavit-Hartenberg Convention to assign frame:
Rule-1 Rule-2
[26]
The Z axis must be the axis of rotation for The X axis must be perpendicular both to
a revolute joint, or the direction of motion its own Z axis, and the Z axis of the frame
for a prismatic joint. before it.
Rule-3 Rule-4
All frames must follow the right-hand Each X axis must intersect the Z axis of
rule. the frame before it
Figure 4.2: Diagram showing a 6-DOF robotic arm with Denavit-Hartenberg parameters
labeled.
4.2.2 DH Parameters:
The DH convention uses four parameters to describe the relationship between two
successive coordinate frames attached to the robotic arm's joints.
Joint Angle(θ):
The angle of rotation around the Z-axis of the current joint to align it with the next
joint.Variable for revolute joints and constant for prismatic joints.
Link Offset(d):
The distance along the Z-axis from the origin of the current joint to the origin of the next
joint.Variable for prismatic joints and constant for revolute joints.
[27]
Link Length(a):
The distance along the X-axis from the Z-axis of the current joint to the Z-axis of the next
joint. It represents the physical length of the link between two joints.
Link Twist (α):
The angle of rotation around the X-axis to align the Z-axis of the current joint with the Z-
axis of the next joint. It describes how the link is twisted.
Table 4.1: DH parameters for a 6-DOF robotic arm
Link θi αi ai di
1 θ₁ 90° a2 a1
2 θ₂ 0° a3 0
3 θ₃ + 90 90° 0 0
4 θ₄ -90° 0 a4
5 θ₅ 90° 0 0
6 θ₆ 0° 0 a5
4.2.3 Homogeneous Transformation Matrix:
A 4x4 matrix called the Homogeneous Transformation Matrix (HTM) is used in robotics to
show the orientation and location of a joint or end-effector on a robotic arm in a single
matrix. By combining the displacement vector (3x1) with the rotation matrix (3x3), it
offers a consistent method of characterizing changes across frames in space.
Displacement Vector:
The 3x1 displacement vector indicates the location of the joint or end-effector of the
robotic arm in three dimensions. It specifies the component's precise coordinates (X, Y, Z)
[28]
in relation to a base frame. The displacement vector is essential for figuring out the arm's
overall location during tasks like pick-and-place operations since it allows one to compute
how far the arm has moved in space.
Figure 4.2: Displacement vector between two coordinate
frames
Rotation Matrix:
A 3x3 matrix known as the rotation matrix indicates how a robotic arm's end-effector or
joint is oriented in relation to a base or prior joint. Determining the arm's orientation in
space requires knowing how much a component has rotated around the X, Y, or Z axes.
The rotation matrix is utilized to record the alignment of the various arm parts following
each movement in both forward and inverse kinematics.
[29]
Figure 4.3: Illustration of a rotation matrix transforming a coordinate frame.
Homogeneous Transformation Matrix:
Figure 4.4: Illustration of a homogeneous transformation matrix representing both
rotation and translation.
4.2.4 Steps to Apply DH Convention:
Assign Coordinate Frames: Attach a coordinate frame to each joint of the robotic arm.
Define DH Parameters: Using the geometry of the robotic arm, define the values of
𝜃,𝑑,𝑎,𝛼 for each link.
Construct Transformation Matrices: For each link, create a transformation matrix using
the DH parameters.
Compute Forward Kinematics: Multiply the transformation matrices sequentially to
calculate the position and orientation of the end-effector.
Advantages of DH Convention:
Simplifies the representation of kinematics for multi-link robotic arms.
Provides a systematic way to compute forward kinematics.
[30]
Universally adopted, making it easier to compare and share robotic arm designs.
[31]
Chapter 5
Approach to Robotic Arm Kinematics
In order to implement robotic arm kinematics, theoretical kinematic models must be
converted into functional code that can control the arm's movements. The method utilized
to precisely and effectively control the end-effector by coding the robotic arm's forward
and inverse kinematics is described in this section.
5.1 Tools and Programming Environment:
Programming Language: Python
Libraries Used: NumPy for matrix operations, including transformations and
multiplications. Matplotlib for visualizing the robotic arm’s movements in a 2D or 3D
workspace.
5.2 Kinematics Code Flow for Robotic Arm:
Defining the Problem: The objective was to use forward kinematics to create a 6-DOF
robotic arm simulation. We had to use joint characteristics to determine the end effector's
orientation and position.
Import Required Libraries: We imported the required libraries, including matplotlib for
graph plotting if necessary for visualization, NumPy for numerical computations, and
Sympy for symbolic mathematics (used for matrices and transformations).
[32]
Defining Arm Parameters: The link lengths and additional constants, such as a1, a2, a3,
a4, and a5, indicate the robotic arm's actual physical dimensions. These characteristics
serve as the foundation for the Denavit-Hartenberg (DH) table setup.
Set up the DH Table: We developed a Denavit-Hartenberg parameter table that contains
the constant and the joint angles (variables such as q1, q2, etc.). These specify how
successive joints relate to one another in terms of translation and rotation.
DH Transformation Matrix Function: Using the DH parameters, this function creates
the homogeneous transformation matrix for every pair of joints. We obtain both translation
and rotation between joints using the transformation matrix.
Iteratively Compute Transformation Matrices: The function's final matrix, which
provides the end effector's position and orientation, is obtained by multiplying the
individual transformation matrices as it iterates through the DH parameters for each joint.
Apply the Matrices: The final homogeneous transformation matrix is obtained by
multiplying the matrices at each step as they are applied sequentially from the robotic arm's
base to the end effector.
Finalize and Visualize: We can display the end effector's path for various joint
configurations or utilize the results of computing the final transformation matrix to
ascertain the end effector's position.
[33]
Figure 5.1: Flowchart illustrating the steps involved in robotic arm kinematics
Figure 5.2: 3D plot illustrating the visualization of a text and a circle in a 3D coordinate
system with x, y, and z axes
[34]
Chapter 6
Results and Discussion
6.1 Results:
Table 6.1: CAD Modelling Specifications
S. No. Material Specifications
1 Weight of Robotic Arm 800g
2 Payload 200g
3 Servo Motors Used / Torque Rating MG996R/ 11 kg-cm
SG90/ 1.6 kg-cm
Table 6.2: 3D Printing Specifications
S. No. Material Specifications
1 3D Printing Material Used Polylactic Acid (PLA)
2 Density of PLA 1.24-1.28g/cm³
3 Melting Temperature 160-180°C
[35]
4 Tensile Strength 50-70MPa
5 Elongation at Break 3-6%
6 Working Temperature for 3D Printing 210-220°C
7 3D Printing Time Around 20hours
8 Material Used in 3D Printing Around 900grams
[36]
6.2 Discussion:
[37]
References
1. Oluwajobi, A.O., & Oridate, A.A., Design and Development of an Educational 5-
DoF Robotic Arm, International Journal of Robotics and Automation Technology,
6, 55-65, 2019.
2. Spong, M. W., Hutchinson, S., & Vidyasagar, M. Robot Modeling and Control.
Wiley, 2nd Edition, 2020.
3. Craig, J. J. Introduction to Robotics: Mechanics and Control. Pearson Education,
4th Edition, 2017.
4. Denavit, J., & Hartenberg, R. S. A kinematic notation for lower-pair mechanisms
based on matrices, Journal of Applied Mechanics, 22, pp. 215–221, 1955.
5. Paul, R. P. Robot, Manipulators: Mathematics, Programming, and Control, The
MIT Press, 1981.
[38]