Robotics is one of the most important sectors in he field of technology. It is the engineering and scientific field that involves the design, construction, and use of robots and computer systems to control them. With the rapid advancements of technology, field of robotics is expanding into many areas. But one of the fundamental robotic inventions is a robotic arm.
What is a robotic arm:
“A robot arm is a mechanical limb, designed to mimic the flexibility and agility of a human arm, or even surpass it in some instances. It comprises a sequence of interconnected segments, resembling the structure of our bones, and these segments are driven by a variety of actuators, similar to the way our muscles function.”
drona.ai
Just as its name, this is basically an artificial arm that is being created to mimic the movements of a human hand.
Physical parts of a robotic arm:
human hand as parts that connect its subpart and also connect it to the main body. Just like that, a Robotic arm also have physical parts that are being used to control the arm-movements.
Joints
Just like human arm, Robotic arms also have physical points called ‘Joints’. they are basically a junctions that connected two segments. These Joints can allow a rang of movement patterns such as rotation, extension, and bending.
Actuators
in the joints, there are actuators can control them. they are fitted to joints for controlling the movements. These actuators are being included with electronic motors and servo motors, hydraulics, or pneumatics.
Effectors / end-effectors
In the end of a human hand, there are fingers that can handle end tasks of a arm such as grappling, lifting, pushing, and pulling. So, also in a robotic arm, there is a end section called effectors or end-effectors.
Kinematics and Inverse kinematics
To control a robotic arm, we are using a term known as ‘Kinematics’ in the physics. More specifically we will use ‘Inverse Kinematics’. Kinematics is a branch of mechanical physics. It is being used to describe motion of points, objects and systems of groups of objects, without reference to the causes of motion. Basically, the term kinematics always known as the ‘Geometry of motion’. Every object in the known universe is moving. Even though may be you are reading this article while lying on bed and not moving, relatively you are moving the earth surface.
Inverse kinematics is a subprocess of kinematics which is being used to calculate the necessary joint angles or configurations needed for a robotic arm, limb, or other multi-jointed system to reach a desired position or orientation. The process is used in fields such as computer animations, biomechanics and robotics. Inverse kinematics solves for the angles or movements at each joint that will bring the arm to that position. It is essentially the reverse of “forward kinematics,” which involves calculating the endpoint based on known joint angles.
Now let’s dive into the building process.
to build the robotic arm, we need physical parts to assembly before programming the micro-controller board.
Servo motors
Servo motors are a type of electrical motors that is designed for precise control of angular or linear position, speed, and acceleration. They have either linear or rotary motions. Servo motors have a controlled-feedback mechanism that can have controlled-movements.
In this project, I am mainly using SG90S servo motors. they are one of the most common servo motors specially in Arduino-based projects. We can also use MG90S which has a metallic gear structure.
servo has 3 input wires including; a live Voltage wire, a GND wire and a PMW signal wire for controlling the mechanism. With these wires, we can connect these servo motors to the Arduino micro controller board. For this project, I am using an Arduino UNO-R3 micro-controller board. After connecting to the board, we need to calibrate the servo motors before using them to control the arm.
The Servo motor should be put together as follows:
- Yellow = Orange (This is the PWM control wire)
- Black = Brown (This is the Ground wire)
- Red = Red (This is the 5 Volt power supply wire)
after connecting the servo to the board and connecting the board into your computer, open the Arduino IDE on the computer and create a new sketch and save it. After that upload the following code into the controller board using USB port.
// for servo calibration:
#include <Servo.h>
Servo middle, left, right, claw ; // creates 4 "servo objects"
void setup()
{
Serial.begin(9600);
middle.attach(11); // attaches the servo on pin 11 to the middle object
left.attach(10); // attaches the servo on pin 10 to the left object
right.attach(9); // attaches the servo on pin 9 to the right object
claw.attach(6); // attaches the servo on pin 6 to the claw object
}
void loop()
{
middle.write(90); // sets the servo position according to the value(degrees)
left.write(90); // does the same
right.write(90); // and again
claw.write(25); // yes you've guessed it
delay(300); // doesn't constantly update the servos which can fry them
}
If you don’t have the Servo library installed, you must install it using IDE Extensions.
In the next part, We are going to build the physical structure for our robotic arm.