Forward Kinematics of Robotic arm manipulator
Abstract
The presented project report attempts to provide a comprehensive study and develop a script for Forward kinematics motion of Robot arm Manipulator using GNU Octave. GNU Octave is software featuring a high-level programming language, primarily intended for numerical computations. Octave helps in solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB. Octave programs consist of a list of function calls or a script. Due to the rapid evolution of technology Industries are tending towards the automation which includes the use of control systems, such as computers or robots, and information technologies for handling different processes in an industry to replace a human being. Robot manipulators are fabricated from a sequence of link and elements combinations.
Keywords: Robot, Manipulator, Automation, Octave, MATLAB, kinematics.
1.) Introduction
A robot is a machine designed to execute one or more tasks automatically with speed and precision. A robotic arm is a type of mechanical arm and combination of various links, usually programmable, with similar functions to a human arm. Robot manipulators consist of rigid links, which are connected through joint actuators that create the relative motion of neighboring links. Joints are attached with sensors that read join position and speed. The links of such a manipulator are connected by joints allowing either rotational motion or translational motion. Kinematics is the branch of Engineering mechanics which deals with the study of the motion of objects without the reference of force which are causing these motions. In robotics, constant monitoring of positions and orientations of manipulator links, tools, objects it handles, and other objects in the vicinity is essential.
Some Industrial applications of robots are as follow:
- Laser cutting
- Arc welding / Spot Welding
- Assembly lines
2.) Experimentation:
2.1 Kinematic scheme of a Robot Arm.
Figure 1 notations:
- L1 and L2 represent the length of link 1 and link 2 respectively.
- ϴ1 and ϴ2 represent angle theta 1 with respect to baseline and link L1, and angle theta 2 with respect to end joint of link1 and the starting point of link 2 respectively.
To simulate a script for the kinematic scheme of a robotic arm in octave.
It is essential to provide suitable inputs to get the desired output.
2.1) Input:
L1 = 0.8;length of link 1
L2 = 0.4;length of link 2
`theta` 1 = Angle made by link 1 with respect to base`
`theta` 2 = Angle made by link 2 with respect to link 1`
2.2) Command description:
Linspace Command: The linspace generates an array or matrix filled with the desired value requested.
For loop Command: For loop is used to repeat a specified operation number of times.
Plot command: Plot function plots graph Y versus X.
2.) Programmed Script
%inputs
l1 = 0.8;%Assigning_value_for_link_1
l2 = 0.4;%Assigning_value_for_link_2
theta1 = linspace(0,90,10);%Assigning_value_for_link_1_angle
theta2 = linspace(0,90,10);%Assigning_value_for_link_2_angle
ct=1; %counter for each iteration
for i = 1:length(theta1) %for loop for each iteration of link 1
THETA1 = theta1(i);
for j =1:length(theta2) %for loop for each iteration of link 2
THETA2 = theta2(j);
x0 = 0;
y0 = 0;
x1 = l1*cosd(THETA1);
y1 = l1*sind(THETA1);
x2 = x1 + l2*cosd(THETA2);
y2 = x2 + l2*sind(THETA2);
%plotting
plot([x0 x1],[y0 y1],[x1 x2],[y1 y2],'linewidth',5);
axis([-3 3 0 3]); %axis limit
pause (0.04); %pause time
text=sprintf('Robot_manipulator_motion%d.png',ct)
saveas (gca,text);
ct= ct+1;
end
end
Workspace results:
Output:
After executing the written script animated image is generated which show various positions of robotic arm.
Thank you