This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
The robotic manipulators are widely used in industries these days because of numerous economical and technical reasons. The variety of tasks can be performed due to its flexibility that is achieved by using the computer software. The concept and principles where established long time back. But, it's recent that the field of robotics is rising to the acme. The advancement in the computer technology, robots is used in many different fields to perform tasks which were not possible earlier. The artificial intelligence also plays the vital role in the upcoming of robot. The important aspect in robotic manipulator is modeling and simulation. The term robot was first taken in context by the Czech novelist Karel Capek in his play Rossum`s Universal Robots. The word 'Robot' came from Slavic word 'Robota', which means 'compulsory labor'. In present world the research in robotics are taking place in many direction. Robotic manipulator, mobile robotics are several of them. In early days the main work of robot was automobile assembly line operation but now a day's robots are used in diverse applications such as in space exploration, entertainment and even in medical science.
The task performed by the robotic manipulator they can be distinguished in two different categories. The first one only deals with the tasks which involved the motion only on the given path. Or we can say the follow the geometric path prescribed for them to work on, for example the robotic manipulator used for welding, cutting or shaping. Whereas, the second type of robotic manipulators deals with task which have only point to point motion. The initial and final points are specified for them, for example a assembly operation, tool change in machinery. The trajectory planning of first category is relatively easy, as we know the path is already known. Whereas in second robot manipulator it is more difficult to search the most efficient path and the way to follow
For classification of robotic manipulator several different options are used such as:-
In a robotic manipulator, the axes of the joints are usually known. They are entitled as major and minor axes. The major axis is used to describe the motion of the robotic manipulator; where as the minor axes are used to describe the orientation of the tool.
Work envelop can be defined as the locus of points which can be reached by the wrist of robotic manipulator in three- dimensional space. The links can be joined in different ways to reach the required condition. In year 1876 the German engineer Franz Reuleaux defined six different ways in which joints can exists. They are known as Reuleaux pairs. It can be proved that they are the only condition in which the joints can be made together.
Any surface which revolves is defined as R-pair.
Any helicoidal surface is defined as H-pair.
Any surface of translation is defined as P-pair.
The surface of cylinder is defined as C-pair.
A sphere surface is defined as S-pair
A plane surface is defined as E-pair.
Out of above defined six possibilities, only two are commonly used that r R ' pair ans P-pair.
the combination of R and P joints forms major axes. The simplest of all are listed in table below.
Is the entire three axis contain prismatic joint, the work envelop will generate the rectangular box. So the reason the Cartesian coordinate robotic manipulator is also called as gantry robots.
Now using the different combination we replace the first prismatic joint with R-pair joint. This will result in the cylindrical coordinate which will have cylindrical work envelop. If we replace one more P-pair with R-pair, then result will spherical coordinate robot or a SCARA manipulator. The spherical coordinate robot will be having spherical work envelop whereas the SCARA will have complex work envelop.
Now if all the three axis are have R-pair, then the formation is called as articulated coordinate robot. and this type of configuration resemble most to human being out of all configuration. The work envelop created by this configuration is complex in nature.
REACH AND STROKE
Reach and stroke are used give the measure of the work envelops. The horizontal rod tells the maximum distance a payload can be positioned and vertical rod tells us the distance from base. The horizontal rod signifies the radial distance that can be covered by the payload. And other hand vertical rod tell us about the vertical distance payload can work on.
The manipulator that used to develop this report is the simple manipulator. It has a rotating fixture by which a uniformly dense rod is fixed of finite length. At the end of the rod the payload is attached. It can be any tool used for specific work. To develop the equation of the manipulator we have to consider all the forces acting on it. The model of the robot manipulator is shown in fig. below.
MATLAB and SIMULINK
For analyzing the manipulator the mathematical equations are used to make simulink diagram and the work is done on it. The simulink is the part of MATLAB. MATLAB is a language used for technical computing. With the help of MATLAB we can develop the algorithm, analysis data and many more tasks can be performed. Using MATLAB the problems are solved much faster rate as compared to using other language. Now days MATLAB is used to solve wide range of problems. MATLAB contains different toolbox for different purpose of environment. The main feature of MATLAB is that we can use MATLAB code to integrate with other languages and applications.
It is a High- level language used for computing
Code, file and data can be easily managed.
Interactive tools are available.
Mathematical functions are available for the numerical problems
Data can be visualized in 2D or 3D format.
Custom graphical user interfaces can be build using various tools available in toolbox.
MATLAB contains wide range of integrated tools which help in developing efficient way to implement our algorithm. Few are mentioned below:-
MATLAB Editor 'standard editing and debugging feature are available in editor. It can be used for setting breakpoint and single stepping
M-Lint Code Checker ' it is basically for analyzing the code and gives the relevant points to improve performance and maintainability.
MATLAB Profiler ' the time taken for the execution of each line is saved by the profiler.
Directory Reports ' it scans the available directory and then display the report on code efficiency and file dependencies.
Designing Graphical User Interfaces
We can use this tool to construct and edit the user interface. It includes various tools.
Subsystem can be defined as a block which replaces the set of blocks. Due to the size and complexity of model we can simplify by putting the locks into the subsystem.
Advantages of subsystem:
It reduces the number of blocks and simplifies the model.
The functionality related blocks can be kept together.
It helps us to put the model in hierarchical model. The subsystem is one layer and the blocks which make the subsystem is another layer.
The subsystem can be created in two ways:
First- we can put a subsystem to our model and then we can add the blocks to it.
Second- we can select the blocks to make subsystem and then we can add it to the subsystem.
There can be a conditional or unconditional executable subsystem. As the fact the unconditional subsystem will always execute and conditional subsystem will only execute when the input signal fulfill the requirement of execution.
There are basically two types of subsystems:-
Virtual subsystem- it only provides of graphical hierarchy to the constructed model. It has no impact on execution. At the time of execution subsystem gets expanded before execution.
Nonvirtual subsystem- it provides both execution and graphical hierarchy in diagram. They are executed as one unit or single unit. Simulink posses following nonvirtual subsystem:
Atomic subsystem. The main advantage of atomic subsystem is that model is executed as the single unit due to this we can have different aspects of model at execution level.
Enabled subsystem. It behaves similarly to atomic subsystem. The only difference is that it executes when enabled port is more than zero.
Triggered subsystem. It executes with respect to rising and falling of signal.
Function-call subsystems. It is analog to function in textual language. We use function-call generator, or a S- function to execute a function call.
Enabled with trigger subsystem. It perform task when it is enabled and there is a rise or fall in the signal with respect to zero. Its direction is defined by Trigger type parameters.
Action subsystem. It is defined as the intersection of properties of function-call subsystem and enabled subsystem. It can deal with only one signal at a time. It can be executed once by subsystem initiator.
While ' subsystem. It can run much iteration. The iterations are controlled by a iteraator in subsystem block. It is almost same as function-call subsystem. That is it can execute more numbers of iterations in one go.
For-subsystem.it executes the fixed number of iterations. Iterations can be either internal or external. It is created by putting the for-subsystem in subsystem block.
A manipulator model can be considered as the body of small rigid bodies. As we know from above discussion the links are attached by the joints. For the vertical rod one end is attached to the base and other end has joint with the horizontal rod. At the one end of horizontal is payload attached and other side is attached by the vertical rod. The main objective is constructing the robotic manipulator which controls both the orientation of the arm and tool and position also.
We will divide the construction work in two broad sub heading. In first we will find the equation for the robotic manipulator and in second we will carry the simulation of the robotic manipulator using equation from first part.
Figure of model.
The first part basically consists of mathematical equations used for finding the final equation of the manipulator. We will follow in step by step format.
Center of mass
The manipulator consists of the rotating fixture which has moment inertia denoted by variable Y?. Through the rotating fixture a dense rod is attached of uniform density. The length of uniformly dense rod is LR and mass MR. Payload is attached at the end of the rod. The moment of inertia and mass are YP and MP respectively. The center of mass of the payload is LP units of length from the end of the rod. The center mass of the whole composite body is the addition of center of masses of payload and rod.
Cp = center of mass of payload.
Cr = center of mass of rod.
C = center of mass of whole body which is equal to addition of center of masses of payload and
rod taken in account separately
C = Cr + Cp
The most effective and easiest way to calculate the center of mass of the body is making the body to point system. In point system we will only consider the required points for calculation.
From the definition the center of mass of point system is given by:-
?_(i=1)^n'?mi(CPi) ? ? = o ?
Figure of point system.
Now if we consider the model. In that case, we have:
Mr(CCr) ? +Mp(CCp) ?=O
Mr[(CO) ?+(OCr]) ?+ Mp[(CO) ?] + (OCp) ?]=O ?
[Mr+Mp](OC) ?=Mr(OCr) ? + Mp(OCp) ?
The total mass of the system will be addition of the masses of rod and payload. So
Mt = Mr + Mp (1.1)
So putting the value of total mass above equation becomes
(oc) ? = (Mr(OCr) ? + Mp(OCp) ?)/Mt (1.2)
(OCp) ? = rr ^
(OCr) ? = (OB) ? + (BCr) ?
(OB) ? = (r - Lp)r ^
(BCr) ? = ((-Lr)/2 )r ^
(OCr) ? = (r - Lp - Lr/2 )r ^
(OC) ? = (Mr(r- Lp - Lr/2 )+ Mp r)/Mt r ^
(OC) ? = (r '(Mr(2Lp+Lr))/2Mt) r ^ (1.3)
Putting the value of K as
K = Mr (2Lp+Lr)
Now putting the value of K in equation 1.3
So the equation becomes
(OC) ? = (r 'K/2Mt) r ^ (1.4)
So the above we have got the value of K and (OC) ?.
Moment of inertia
To find the moment of inertia of the whole body about ?, where ? is perpendicular to the plane of figure and passes through point O. we need to find the moment of inertia of rod and payload separately. We take the moment of inertia of rod with respect to ?r. where ?r is the axis passing through the center of rod and is perpendicular to plane of figure. The mass of rod is Cr .from the definition of moment of inertia we know that the moment of inertia of body is given by
I? = ?'r2 dm (2.1)
Now if the body is made of homogeneous material of density ?, then the dm is equal to ?dv. So above equation becomes
I? = ??'r2 dv
The moment of inertia of rod w.r.t ?r
I?r = ??_(-Lr/2)^(Lr/2)'r^2 dr (2.2)
But we know that mass = density * length.
So, Mr = ?Lr
I?r = (2 Mr ?Lr?^2)/24
I?r = ( Mr ?Lr?^2)/12 (2.3)
Now if we calculate the moment of inertia of rod above ? and parallel to ?r. Then it can be done easily by using the parallel axis theorem.
Moment of inertia can easily be determined using parallel axis theorem. The moment of inertia can be determined along any axis, given the moment of inertia of the object about the parallel axis.
The moment of inertia about the new axis z is given by:
Icm is the moment of inertia
m is mass;
R is the perpendicular distance
The moment of inertia of rod w.r.t ? is
I? = ( Mr ?Lr?^2)/12 + Mr |(OCr) ? |^2 (2.4)
We know that
(OCr) ? = (r ' Lp - Lr/2) r ^
So |(OCr) ? |^2 = ?(r - (2Lp+Lr)/2)?^2 (2.5)
Putting the value from equation 2.5 into equation 2.4 then
I? = ( Mr ?Lr?^2)/12 + ?(r - (2Lp+Lr)/2)?^2 (2.6)
Now we have to calculate the moment of inertia for payload which is donated by variable Yp. we will follow the same procedure as we followed for the rod. So using the parallel axis theorem we calculate the moment of inertia for payload which is:
I?payload = Yp + Mpr^2 (2.7)
The moment of inertia of whole system is the sum of moment of inertia of rod and payload
So Yt = Y? + I? + Yp + Mpr^2
Yt is the function of r
Yt = Y? + Yp + Mpr^2+ ( Mr ?Lr?^2)/12 + Mr [r^2- (2 Lp + Lr) r + ?(2 Lp+ Lr)?^2/4 ] (2.8)
By solving the above equation we get the total moment f inertia as
Yt = Y? + Yp + Mtr^2+ ( Mr ?Lr?^2)/12 ' Kr + ?(K)?^2/4Mr (2.9)
Introducing the short hand, we assume a variable Yconst which is equal to
Yconst = Y? + Yp + ( Mr ?Lr?^2)/12 + ?(K)?^2/4Mr (2.10)
On simplifying 3rd and 4th term on right side
Yconst = Y? + Yp + Mr (?Lr?^2/3 + LrLp + ?Lp?^2) (2.11)
Yt = Yconst + Mtr^2 ' Kr (2.12)
The kinetic energy is defined as the energy posses due the presence of motion in the body. Now the kinetic energy will be possesses due to and fro motion of the rod and attached payload.
Now the formula of kinetic energy is give as
T = 1/2 ?'?(Vp) ?( ?p) ? ? dm
Where Vp is the absolute velocity of infinitely small mass element of the body.
The position vector of P can be written as
(r ) ?= (r1) ?+(Cp) ?
Where r1 is the position vector of body`s center of mass.
T = 1/2 ?'?((Vc) ?+d/dt ( Cp) ? ? ). ((?c) ?+d/dt ( Cp) ?) dm
= 1/2 ?'?((Vc) ?+(?c) ? ? ) + 1/2 ?'?((Vc) ?+d/dt ( Cp) ? ? )dm + 1/2 ?'?(d/dt ( Cp) ? ? ).( d/dt ( Cp) ?) dm
But by the definition of center of mass
?'?((Vc) ?+d/dt ( Cp) ? ? ). = ((?c) ?+d/dt ?'( Cp) ? ) dm
So now T becomes
T = 1/2 m ((?c) ?+( Vc) ?) + 1/2 Ic( ?^2 ) ? (3.1)
The moment of inertia about the axis passes through the centre of mass c and perpendicular to the plane of the figure,
Lagrangian mechanics is combination of conservation of energy and conservation of momentum. In year 1788 Joseph-Louis Lagrange gave the concept of solving the trajectory of system particles. That can be derived using the any of two kind of Lagrange equation.
Now using the lagrangian equation we can obtain the motion of the manipulator.
Qj = d/dt(?T/(?q ? )) - ?T/?qi (4.1)
The translational displacement of center of mass cause the kinetic energy which is equal to:-
Tt = 1/2 Mt r ?^2
And the kinetic energy formed due the rotation about ? is equal to:-
Trot = 1/2 Yt r? ?^2
So the total kinetic energy formed is:-
T = 1/2 Mt r ?^2 + 1/2 (Yconst + Mtr^2 - Kr) ? ? (4.2)
?T/(?r ? ) = Mt r ?
d/dt(?T/(?r ? )) = Mt r ' (4.3)
(?T/(?r ? )) = (Mtr - K/2)? ?^2 (4.4)
So the generalized force applied to translational joint which is defined before as r is equal to:-
Qr = Mt r ' - (Mtr - K/2)? ?^2 (4.5)
We can modify the above equation in the required condition.
?T/(?? ? ) = ( Yconst + Mtr^2- K r) ? ? (4.6)
d/dt (?T/(?? ? ) )= (Yconst + Mtr^2- K r ) ? ' + (2Mt r r ?- Kr ?)? ? (4.7)
And we know that
d/dt (?T/(?? ? ) )' 0=Q?
So the equation 4.7 becomes
Q? = (Yconst + Mtr^2- K r ) ? ' + (2Mt r r ?- Kr ?)? ? (4.8)
But now for the modeling the robotic manipulator we need the value of 'r' and '?'. So the equation numbers 4.5 and 4.8 have to be converted in the desired form.
Equation 4.5 is
Qr = Mt r ' - (Mtr - K/2)? ?^2
We want to find the value of 'r'. So the value from above equations comes out to be:-
r ' = (Qr + (Mtr - K/2)? ?^2)/Mt (4.9)
The above equation gives r ' as the output. We can get r by integrating twice.
And now for equation 4.8, we can use this equation to find out the value of ?.
? ' = (Q? - (2Mt r r ?- Kr ?)? ?)/((Yconst + Mtr^2- K r )) (4.10)
Similarly we can find about ? from ? ' by integrating it twice.
Now we will use equation 4.9 and 4.10 for constructing the simulink model for simulation purpose.
Modeling and simulation.
The modeling and simulation is done in MATLAB. The equation obtained from the force analyses of the robotic manipulator is used to construct model in SIMULINK. Now we are using equation 4.9 and 4.10 to construct the model. As we can see both equation are interdependent.
To create the simulink diagram we need the help of the toolbox available in the simulink.
The few of the blocks used in the diagram are described below.
Add- this block is used for addition of two or more input lines. We can change the properties as per our desire. The block is denoted by
Subtract ' this block is the basic mathematical tool used for subtraction. The number of inputs can be made according to requirement.
Division ' for the mathematical division this block is used. This block is denoted by
Product ' scalar multiplication can be done with help of this block
Gain ' it is used to define the gain for input signal. We can enter the gain by editing the properties of the block
Reciprocal ' used to get the reciprocal of the input signal.
Constant ' define the constant value to the signal. This can be the initial value of the variable also
Integrator ' integrates the input signal.
Scope ' gives the output plot of the signal provided
Now we will create a model for the equations we have created from the different forces acting on the robotic manipulator. We will use equation 4.9 and 4.10 to construct model.
? ' = (Q? - (2Mt r r ?- Kr ?)? ?)/((Yconst + Mtr^2- K r ))
r ' = (Qr + (Mtr - K/2)? ?^2)/Mt
The variables used are:-
Q?= maximum force on joint ?. It is taken to be constant.
= 1.0 Kg-M/sec2
Qr= maximum force on r. it`s value is also taken same to force on joint ?.
Mt = Mr + Mp = the total mass of body, which is equal to mass of rod + payload. The mass of rod and payload is taken constant.
Mr = 4.0 Kg
Mp = 1.0 Kg
K = Mr (2Lp+Lr)
K is the short hand introduced earlier. It consist mass of rod, length of rod and payload. Mass rod is already defined. The lengths are also taken constant.
Lp= length of payload = 0.1
Lr = length of rod = 2.0
Yconst = Y? + Yp + Mr (?Lr?^2/3 + LrLp + ?Lp?^2)
Yconst consist of moment of inertia of 'r' and '?', plus the mass of rod and lengths taken in consideration. All the variable is defined above except the moment of inertia of rod and payload.
Y? = moment of inertia of ? joint = 10-3 Kg-M
Yp = moment of inertia of payload = 10-5 Kg-M
Model for equation 4.9 and 4.10
To construct the model we have to first define the constant values. That can be done using the toolbox.
We will define Mr , Mp, Lp, Lr, Yp and Y? .
We can initialize the value of variable using the source block parameter. Just we need to feed the constant value.
Step 2- after defining the value of constants. We have to make the interlinked model by using the lines and other mathematical blocks.
As we solve the equation we get the interlinked model. But there are some variables that are to be used from the other equation to solve this equation. So we need to solve both the equations simultaneously.
For example we take first equation that is
r ' = (Qr + (Mtr - K/2)? ?^2)/Mt
In this Qr is the constant value that can be defined straightly but other variables like Mt and K which depends on the other variable for their values. So to get there values we need to do some of the mathematical operations.
Mt is defined by the following equation.
Mt = Mr + Mp
Now to get the value of total mass we need to add both the individual masses. We have already made mass of rod and mass of payload as constant. To get total mass we will use a add tool box and we will drag two inputs into it, one from mass of rod and other from mass of payload. The output will be the total mass
The other variable used in the equation 4.9 is 'K'. 'K' also depends on other variables for its value.
K = Mr (2Lp+Lr)
In above diagram we can see that 'K' is acquired after different mathematical operations. Lp is given a gain of 2 and then the output from gain block is given to the add block with Lr as second input. Add block give the addition of both the inputs which is then given to product block and mass of rod that is Mr is also given as input. 'K' will be the output from the product block.
We have all the variables required to build the model of equation 4.9 except(? ??^2 ) ?, which is the output of second equation. So the model for the equation is build. But we need the ? for the completion of the model. So we have to solve other equation to get the output result. As we can see 'r' is also used for the feedback. So the system is dependent the value of output.
Now solving equation 4.10
? ' = (Q? - (2Mt r r ?- Kr ?)? ?)/((Yconst + Mtr^2- K r ))
We have already defined the most of variable to be used in this model, expect the Yconst. Yconst also mathematical equation of different variables or constants we have defined in starting.
Yconst = Y? + Yp + Mr (?Lr?^2/3 + LrLp + ?Lp?^2)
Now we have every single variable required to construct the both the equations. So the final SIMULINK model can be constructed easily. As we know both the equations depend on each other, so there will be the single model.
Now we have created the basic model of the equations we calculated. As the model seems to be more complex and the number of blocks are also more. So we create the subsystem. The changes we made before establishing the subsystem.
The input forces Qr and Q? are converted to input 1 and input 2 respectively
The output ports of 'r' and '?' are taken as output 1 and output 2 respectively.
Select the whole model to make the subsystem after following the above steps. Edit -> create subsystem; the model will be converted to the subsystem model.
If we double click the subsystem we can view the original blocks added to subsystem block.
After constructing the subsystem now we can linear the model. Linearization basically is the process for finding the approximate linear value of the given condition. In this project we can use either the theoretical process of linearization or we can take help of MATLAB for linearization. Using MATLAB make it easy and time saving process of finding the linear values for it. The command used for finding the linear values in MATLAB is:
[A,B,C,D] = linmod ('model_linmod')
After linearization we get the four matrices of variable A, B, C and D. now these values are the one we will us to construct the controller.
The value of A, B, C and D are:
x1 x2 x3 x4
x1 0 0 0 1
x2 0 0 1 0
x3 0 0 -28.49 0
x4 0 0 0 0
x1 0 0
x2 0 0
x3 0 2.374
x4 0.2 0
x1 x2 x3 x4
y1 1 0 0 0
y2 0 1 0 0
y1 0 0
y2 0 0
As we know we are applying some input forces for which get the output. To get the desire output we add the controller to it. The controller helps us to get performance and stability. To construct the controller first we need to solve the problem in mathematical form which we have already covered in the above points. The type of controller really depends upon the mathematical expression we are dealing with. For this part of project we will be using state-space controller. Our main aim for using controller is to make output becomes nearly equal to input signal for long period of time. But to gain the required output we need to assign values to the initial inputs. As we know that the 'r' is travelling from (1,1) to (-1,1) and the change in angel or ? for reaching one Cartesian coordinate to the other is p/4.
After defining the initial values for required variables. We can linear the model. We have already discussed the process involved in linearization. So we get value of A, B, C and D. which will be used for the formation of G(our plant). The values obtained after doing the linearization are converted to state space form and then stored into G. 'As' matrix is initialized with very small difference with 'A'. Identity matrix of 0.1 and 4*4 is added to 'A' to form 'As'. This is done due to form another plant matrix 'Gs' with As, B, C and D. The desired closed- loop bandwidth 'W0' is taken to 1 and desired disturbance attenuation inside bandwidth 'A' is defined equal to numeric value that is 1/1000. Laplace transform variable is taken as 's'. W11 is initialized using the formula ((s/M+w0))/((s+w0*A)) , this is used to form the sensitivity weight 'W1'. The control weight is taken as the diagonal matrix of 0.1 values. The complementary weight is defined using the 'W31' and 'W31' is defined using the formula((s+w0/M))/((s*A+w0)). The sensitivity weight and complementary sensitivity weight is formed by appending the respective matrices. To form the controller we have used 'mixsyn' command. The main inputs in this command is 'Gs' which our modified plant state space matrix and different weights that is W1, W2, W3. The output we get 'K' the controller, CL, GAM and INFO. ssdata condition is used to extract the K and Gs in value in Ag, Bg, Cg, Dg and Ak, Bk, Ck, Dk respectively.
[A,B,C,D] = linmod('model_linmod');
As = A+eye(4)*.1;
L=G*K; % loop transfer function
S=inv(eye(2)+L); % Sensitivity
T=eye(2)-S; % complementary sensitivity
Sensitivity and complementary sensitivity can be calculated using formulas S=inv(eye(2)+L)and T=eye(2)-S respectively. As we got the value of our controller we can now construct out model with the plant and controller. The values Ak, Bk, Ck and Dk are put in the state space block to form the controller.
The negative feedback loop is the other input to the controller. Subsytem1 is our original plant.
RESULT AND DISCUSSION
To achieve the required result it is very essential that our plant 'G' and controller 'K' works properly. We have introduced the second plant 'Gs' with very small changes in original plant. The response of both the plants is shown below. We can see that both the plants works almost in same manner in the required working area.
The system can be diagnosed by knowing its sensitivity and complementary sensitivity.
The sensitivity and the inverse of sensitivity weight are shown in figure above. They start from the different points and in the final stage they become almost parallel to each other. This shows that our controller is working the in required limits. We can see that it is not the ideal case but still our controller is working above the acceptable limits.
The controller is working in the right path. Now after we attach it in the loop with negative feedback we get required output. That is our output signal should reach the reference signal in very less time and should follow it for long period of time. The input provided to the model is in form of step signal.
The output received after the signal passed through the controller and plant
We can see that initially the value of output is zero but with increase in time the signal try to reach to value 1. And after instant of time it reaches the required position and becomes stable. This shows that our controller is working in the appropriate manner.
The main aim of this project was to plot the trajectory. We have already discussed the method we used to plot the trajectory. The input is given in the form of ramp signal. And the output is taken on both scope and XY plot. XY plot is basically used to see the path followed by the robotic manipulator is according to input signal or not. The input signal provided is shown below.
As we can see in the graph the curve starts from 1.414 which is nearly equal to v2 . the starting point defined by us. Then the curve reaches 1 and after period of time it becomes constant. The other line decline with slope of 1 and after that becomes constant. The output from this block diagram should follow the same path or should try to follow. If our controller is not working properly the output will not be in the desired shape.
The output shows that it follows the reference signal, with slight distortions. If we draw the input signal with coordinates, it will show the path travelled by the robotic manipulator in XY coordinates.
The plot shows the reference signal input for the trajectory. As we can see the robotic manipulator robotic arm is moving from coordinate (1,1) to (1,-1). This is the initial condition we put for the robotic arm to move from initial point to final point.
But in the output we can see that it is not following the same path as the reference signal. The output signal is not following the straight line, it forms a zigzag motion along the reference path. The final path and reference path coincide nearly at point (1,0). the output depends upon the time limit for motion. If we decrease the time limit, the output gets more distorted and if we increase the time limit, it gets more prescribed to the path. The plots of different times are shown below.
More we increase the time the less is the distortion. In beginning, at t=1 the trajectory followed by the robotic manipulator is smooth but as it reaches end it get heavy distortion but it only follows the starting and final point. It does not follow the path of reference signal. At t=10 the trajectory follows the path but not uniformly, it has little distortion. At t= 20 distortion becomes less and at t= 30 it almost follow the reference signal with very less time. But out main is to get the signal in less time and to make it follow the reference signal.
In this report we implement the control system design for the robotic manipulator. We divided this whole process in various steps to make it more lucid for us to understand the different aspects of this whole control system. Firstly we described the manipulator in terms of mathematical equations. We took every important force acting on different parts of manipulator. This helped us to drive the equation of robotic manipulator in terms of forces acting on it, basically the forces acting on radius 'r' and angel '?'. We used the equations to develop the SIMULINK model for the simulation purpose and to get the graphical output. The system we got through the equations was not stable and reliable. To overcome this drawback we used H8 controller. The main aim of using the controller was to make system stable, reliable and to get the required output.
We attached the controller with the plant in negative feedback loop, to get the most of required features. In result and discussion we have seen the different graphs which define the stability of controller and plant with controller. Sensitivity and complementary sensitivity gave us the outlook of stability of the controller. The basic point for the controller and plant model was to get output signal equal to input signal in minimum possible time.
After making the satisfactory controller and checking the entire requirements. We moved towards our final aim that was to achieve the trajectory plotting of the robotic manipulator both for reference signal and output signal. We first defined the initial and final points of the trajectory and then we made the robotic arm stimulate in between those two points. With change in value of time we got different plots giving the output. From there we can depict that with increase in time the trajectory followed by robotic manipulator is more similar to input signals. Modest of all where we can say the trajectory is followed in limited time was at T=10. The graph was following the reference signal at very low distortions.
The robotic manipulator developed above follows the conditions provided to it. The outputs got describe the condition of model as stable and the robustness is achieved. There are few distortions in the robotic manipulator which can be removed taking in account more minor details or using other controllers. All the requirement of the project and truly justified.