Report Final
Report Final
obstacle avoidance
PROJECT REPORT
BACHELOR OF TECHNOLOGY
Mechanical Engineering
SUBMITTED BY
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
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
Priyanshu Bhushan-20213026
This is to certify that the above statement made by the candidates is correct to the best of my
knowledge.
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
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.
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
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
[4]
Table of Contents
1 Candidate's Declaration 2
2 Acknowledgements 3
3 Abstract 4
5 List of Figures 8
6 List of Tables 9
[5]
3.2.2 Torque at Each Joint 16-18
[6]
3.2.3 Value of torque for different payload 19
4.2 Kinematics 23
13 References 34
[7]
List of Figures
robotics
coordinates
and translation
x, y, and z axes
[8]
List of Tables
2 Table 3.2: Table showing the lengths and masses of the links in 18
a robotic arm
Chapter 1
[9]
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
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
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.
precise tasks like pick-and-place operations, assembly, and material handling. Especially in
and efficiency. However, robotic arms frequently operate in challenging and dynamic
surroundings in real-world settings, where obstructions may impede their progress and
[10]
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.
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
[11]
Chapter 2
the motion and functionality of human arms. They are integral to automation, offering
advanced research.
movements. For industrial applications, 6-DOF arms are standard, allowing precise spatial
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:
can be used to drive robotic arms, allowing for real-time operation and flexibility.
[12]
2.2 Structure and Components
Joints and Links: Allow rotational or translational movement, determining the range of
motion.
Sensors: Include ultrasonic, vision, and force sensors for feedback, obstacle detection, and
precise positioning.
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,
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
Automotive Industry:
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
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
Robotic arms can achieve high levels of precision, ensuring accurate and dependable
results. This is especially helpful in industries like electronics manufacturing where exact
Repeatability:
The ability of robotic arms to do repeated, boring tasks reduces the likelihood of errors and
Robotic arms can achieve high levels of precision, ensuring accurate and dependable
results. This is especially helpful in industries like electronics manufacturing where exact
Repeatability:
Robotic arms can do repetitive, boring tasks, reducing the chance of error and ensuring
[14]
Chapter 3
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,
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.
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
Range of Motion:
For a pick-and-place robotic arm, the standard range of motion for each joint is designed to
[15]
Table 3.1: Table outlining the joint specifications of a 6-DOF robotic arm, including
their movement types, ranges of motion, and functional purposes.
Motion
workspace coverage.
movement.
Wrist Pitch Pitch (tilt) of the ±90° Controls the pitch of the
place objects.
objects during
operations.
adjustments during
pick-and-place tasks.
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
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).
θ = angle between the link and the direction of gravity (90° for horizontal, as gravity acts
directly downward).
The waist rotation does not cause motion of any link in the vertical plane (i.e. against
gravity).
T 1 g=0 Nm
[17]
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
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.
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
Joint5 (T5g):
This joint experience torque based on the weight of the end-effector (gripper or tool) and
Joint6 (T6g):
Opening and closing of gripper jaws does not result in motion against gravity
T 6 g=0 N−m
Where:
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:
W2 80 0.78748
W3 63 0.61797
W4 21 0.20601
W5 20 0.19622
Wgripper 26 0.25494
Wj 55 0.53955
[19]
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
Table 3.3: Table showing the required joint torques for a robotic arm for two different
payload weights.
[20]
(ii) For Wpayload=200g
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
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
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.
[21]
Table 3.4: Table comparing the torque and speed performance of two servo motors.
Torque Rating:
Operating Speed:
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
[22]
within the maximum torque limits of the MG996R and SG90 servo motors, ensuring safe
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
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
Chapter 4
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
assembly, and path planning, this analysis is crucial for developing the arm's control
system.
[23]
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
4.2 Kinematics:
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
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
[24]
Figure 4.1: Forward and inverse kinematics in robotics
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
tasks, where exact control over the end-effector's position is required, depend heavily on
inverse kinematics.
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.
Rule-1 Rule-2
[25]
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
Rule-3 Rule-4
All frames must follow the right-hand Each X axis must intersect the Z axis of
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
Joint Angle(θ):
The angle of rotation around the Z-axis of the current joint to align it with the next
Link Offset(d):
The distance along the Z-axis from the origin of the current joint to the origin of the next
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.
The angle of rotation around the X-axis to align the Z-axis of the current joint with the Z-
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
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
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)
[27]
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
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
[28]
Figure 4.4: Illustration of a rotation matrix transforming a coordinate frame.
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
Construct Transformation Matrices: For each link, create a transformation matrix using
the DH parameters.
Advantages of DH Convention:
[29]
Universally adopted, making it easier to compare and share robotic arm designs.
[30]
Chapter 5
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
workspace.
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
Import Required Libraries: We imported the required libraries, including matplotlib for
graph plotting if necessary for visualization, NumPy for numerical computations, and
[31]
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
the constant and the joint angles (variables such as q1, q2, etc.). These specify how
the homogeneous transformation matrix for every pair of joints. We obtain both translation
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.
multiplying the matrices at each step as they are applied sequentially from the robotic arm's
Finalize and Visualize: We can display the end effector's path for various joint
[32]
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
[33]
Chapter 6
6.1 Results: This 6-degree-of-freedom robotic arm is designed for precise pick-and-place
operations with obstacle avoidance capabilities. Featuring a stable base, flexible joints, and
a two-finger gripper, it navigates efficiently while avoiding obstacles, making it ideal for
automation tasks like material handling, assembly lines, and industrial applications.
2 Payload 200g
[34]
2 Density of PLA 1.24-1.28g/cm³
[35]
6.2 Discussion:
[36]
References
6, 55-65, 2019.
2. Spong, M. W., Hutchinson, S., & Vidyasagar, M. Robot Modeling and Control.
[37]