Professional Documents
Culture Documents
Autonomous systems and robots play a crucial role in various functional operations
worldwide. Particularly in industrial settings, robotic arms address many limitations faced by
humans, especially with the assistance of distance control features. The extensive utilization
of robotic arms in research laboratories and industries automates processes and reduces
human errors. These arms excel in tasks such as assembly lines and force-controlled motions
with feedback to the controller. The widespread growth of robotic systems across industries is
attributed to their applications and their capability to minimize errors and material wastage.
A 6-Degree-of-Freedom (6-DOF) robotic arm refers to a robotic manipulator that can move
in six different directions, providing a high level of flexibility and adaptability.
In the context of a robotic arm, the six degrees of freedom typically include:
I. Base Rotation (Yaw): The ability of the arm to rotate horizontally at its base.
II. Shoulder Elevation (Pitch): The movement of the arm up and down at the shoulder.
III. Elbow Rotation (Roll): Rotation of the forearm around its axis.
IV. Wrist Pitch: The tilting motion of the wrist up and down.
V. Wrist Yaw: The side-to-side rotation of the wrist.
VI. Wrist Roll: The rotation of the wrist around its axis.
OBJECTIVES
The primary objectives of this project are outlined to address the design, development, and
implementation of a 6-Degree-of-Freedom (6-DOF) robotic arm using 3D printing
technology. Theseobjectives are strategically crafted to encapsulate various aspects of the
project, ranging from mechanical design to practical applications.
To develop a comprehensive mechanical design for the robotic arm, considering
factors such as size, weight, and structural integrity.
Utilize Computer-Aided Design (CAD) tools to create detailed models of each
component, ensuring precision and accuracy in the assembly.
Select appropriate actuators, motors, and sensors for achieving precise control over
the robotic arm's movements.
Implement a robust control system to regulate and coordinate the motion of each joint,
ensuring accuracy in both positioning and orientation.
Demonstrate the versatility of the robotic arm by developing applications for pick-
and-place tasks, assembly processes, and manipulation of objects.
Employ 3D printing technology for manufacturing various components of the robotic
arm, including the structural elements, joints, and end-effectors.
Choose suitable 3D printing materials to ensure the strength, durability, and flexibility
required for the intended applications.
By addressing these objectives, the project aims to contribute to the advancement of robotic
technology, particularly in the context of 6-DOF robotic arms and showcase the potential of
3D printing in creating sophisticated, cost-effective robotic systems for various applications.
DESIGN METHODOLOGY
CAD MODEL:
Computer-Aided Design (CAD) plays a pivotal role in the mechanical design of the 6-
Degree-of- Freedom (6-DOF) robotic arm. The CAD modeling phase involves creating
detailed 3D representations of each component, providing a virtual environment for
visualization, analysis, and refinement. The design of the different components for the frame
are as shown below:
Fig 1: Assembly View of End Effector Fig 2: Exploded View Of End Effector
Fig 3: Assembly View Of Main Arm Body Fig 4: Exploded View Of Main Arm Body
Fig 5: Assembly View of Arm Turn Table Fig 6: Exploded View Of Arm Main Body
FABRICATION:
The following parts of the gripper assembly along with Servo Mounts for the base turn table
have been manufactured using Creality CR-30 3D Printer and PLA material.
CODE:
#include "HCPCA9685.h" /* Include the HCPCA9685 library */
#define I2CAdd 0x40 /* I2C slave address for the device/module. For the
HCMODU0097 the default I2C address is 0x40 */
HCPCA9685 HCPCA9685(I2CAdd); /* Create an instance of the library */
const int servo_joint_L_parking_pos = 60; //initial parking position of the motor
const int servo_joint_R_parking_pos = 60;
const int servo_joint_1_parking_pos = 70;
const int servo_joint_2_parking_pos = 47;
const int servo_joint_3_parking_pos = 63;
const int servo_joint_4_parking_pos = 63;
int servo_L_pos = 0;
int servo_R_pos = 0;
int servo_joint_1_pos = 0;
int servo_joint_2_pos = 0;
int servo_joint_3_pos = 0;
int servo_joint_4_pos = 0;
void setup()
{
// Declare pins as Outputs
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
HCPCA9685.Init(SERVO_MODE); /* Initialise the library and set it to 'servo mode' */
HCPCA9685.Sleep(false); /* Wake the device up */
Serial.begin(4800); // Initialise default communication rate of the Bluetooth module
delay(3000);
//wakeUp(); -- Uncomment for Example Demo 1
//flexMotors(); -- Uncomment for Example Demo 1
}
void loop()
{
if (Serial.available() > 0) { // Checks whether data is coming from the serial port
state = Serial.read(); // Reads the data from the serial port
Serial.print(state); // Prints out the value sent
//For the naming of the motors, refer to the article / tutorial
//Move (Base Rotation) Stepper Motor Left
if (state == 'S') {
baseRotateLeft();
delay(response_time);
}
//Move Shoulder Up
if (state == 'C')
{
shoulderServoBackward();
delay(response_time);
}
//Move Elbow Up
if (state == 'P')
{
elbowServoBackward();
delay(response_time);
}
//Move Wrist 1 UP
if (state == 'U')
{
wristServo1Backward();
delay(response_time);
}
//Move Move Wrist 1 Down
if (state == 'G')
{
wristServo1Forward();
delay(response_time);
}
CONCLUSION:
The mechanical design successfully translated conceptual requirements into a
functional and robust structure. Through the integration of Computer-Aided Design
(CAD) tools, a detailed digital representation of the robotic arm was created,
encompassing joints, links, and the end-effector interface.
The utilization of 3D printing technology was implemented using the Creality CR-30
Machine available in Department of Mechanical Engineering, IGIT SARANG. Major
components of the Gripper Assembly along with mounts for mounting the base joint
servo motors were also fabricated.