Objective Dynamic Robot Arm System Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

The word robot was first introduced one hundred years ago in a Czech playwright and has the meaning of work, indicating that the primary function of a robot is to help human do works that cannot easily done by mankind themselves. In one of the more precise modern definitions, a robot is a reprogrammable multifunction manipulator designed to move material, parts, tools or specialized devices through variable programmed motions for the performance of variety of tasks.[1] The key element of this definition is the reprogrammability which suggests the robot's utility and adaptability in concern with various tasks.

Key research questions

For the commercial robots, cranes or brain surgery robots for example, the instrumental value determines major requirements for manipulator performance: the extension of the robot workspace, the precision of the angular placement of the arm, the ability to carry the payload, the wideness of the application, and quickness.

Setting of the Project

All commercial robots have two physically separate basic parts-the manipulator arm and the controller.[] In this final year project report, the main focus is on designing the controller for one kind-the two link robot arm system and investigating the suitability of several approaches to the tracking control design depending on: a priori information about the arm model dynamics, a complexity of the arm dynamics, an availability of sensor and a disturbing environment. Giving a tracking accuracy the suitable controller is to be designed in a cost effective manner.[]

Aims and Delimitations of the Study

The domain of the robot arm study is broad. But for my final year project, the target was to design a global controller achieving high accuracy tracking of advanced link position reference trajectories in a sustainable manner, that is, the tuning of the controller parameters is done once regarding of various tracking trajectories. And advanced requirement is that to experimentally investigate the controller's robustness with respect to uncertainty in the model parameters, implement the control algorithm and demonstrate the improvements. Under all circumstances, the disturbance torque is known and the measurement is clean, which means no noise is involved during the process.[]

Chapter 2: Objective dynamic robot arm system

2.1. The structure of the robot arm model

In this project the planner elbow manipulator with two revolute joints will be controlled. The two link robot arm model can be simplified in a two dimension Cartesian coordinates as shown below:

Figure 1: Robot Dynamic Model in x-y domain plane

stands for the length of the first arm and stands for the length of the second arm.

represents the position angle for the first arm and represents the position angle for the second arm. The mass of each link is assumed to be located at the middle of that link and denoted by m1 and m2.

The robot use electric servo-motor to produce the torque needed to drive the arms. The torque and applied to the joints is the plant's inputs. The joint angles and ( and can be a constant or a time-variant trajectories) are controlled outputs. The whole project is about designing the controllers produce the control inputs and that can drive the robot arm tracking desired trajectories.

2.2. Dynamics of the Robot Arm System

For control design purpose, the dynamics of a plant model can be better revealed by the mathematic equation. For this situation, we need to find a quantitative equation about control input torques and output angles. The approach was to derive the kinetic and potential energy of the robot arms and then apply Lagrange's Equation of motion.

Euler-Lagrange Equation

Lagrange's equation of motion for a conservative system is given by:


L stands for the Lagrangian which is the difference between the kinetic and potential energies.

For the revolute joints, the kinetic energy includes the kinetic energy of a mass moving with a linear velocity of v which is given by: and the rotational kinetic energy of the mass which is given by: . I stands for the inertia of an object, and in this situation is a point mass, so:(r stands for the distance between the origin and the location of mass)


The potential energy is

The Lagrangian is

For a two link robot arm:


in x-y plane



The tedious mathematic derivation is omitted and in the end the plant dynamic is found:


(Friction torques)

is the disturbance torque.

2.3. The characteristic of the plant dynamic

The columns of the matrix represent the links of the robot. The first column stands for the first link of the robot and the second column stands for the second link of the robot. There are several characteristics of the dynamic model:



There are two control inputs and two control outputs in the system, which make it a multi-input-multi-output system.


Cosine and sine terms are appeared in the expression I derived, so the system cannot be handled like a linear one.


appears in the first column of the matrix, so the output of the second link arm will have an influence for the first link. Meanwhile, appears in the second column of the matrix, which will also cause an effect on the second link.


As the system is coupled and nonlinear, the influence between each link is unpredictable, which increase the complication of the whole controller design procedure.

Quantitative Characteristics:

According to Robot Manipulator and control, by Frank Lewis and Darren.M.Dawson,the robot dynamic equation has some quantitative relations:

is a positive definite and symmetric matrix, that is: , and


2. ;

3. .

2.4. Main Methods Used for the project

2.4.1. Control Algorithm

1. PID Controller

One of the most widely use controllers in industry is the Proportional-Integral-Derivative (PID) controller, which has a feedback control loop structure. A PID controller uses the difference between a measured process variable and the desired set point signal to produce the control input. The first control algorithm design is to use the PID controller to produce the torques. However, PID controller is mostly used in linear system, and it has a restricted operation range for system that is nonlinear.

Feed forward

To get a sustainable performance, feed forward control method is needed. PID control is a close loop control algorithm. But feed forward control, which comes from the reference signal, does not need any information about the error signal, so it is an open loop control algorithm. Combining the information from the set point and PID controller, the system can have a wider operational range.

Double-loop cascaded controller

The parameter uncertainty will cause a nonlinear leakage in the control loop, which will be proved later. But this leakage can be killed by using Double loop cascaded controller. Instead of using just one PID controller, the controller uses 2 PID controllers, which contains an outer loop to produce a set point from the inner loop. Thus has a faster response to disturbance or uncertainty.

Feedback Linearization

The mathematic equation of the plant dynamics shows that this is a nonlinear system. The PID controller is better served if the system is linear. Feedback linearization was used to transform the nonlinear system into equivalent linear system by applying suitable state variables and control inputs.

Lead-Lag control

Lead-Lag control method is a similar control method to a PI or PD controller to optimize the system response.

Non-linear damping

Non-linear damping is used for systems have nonlinear disturbance. Because the robot arm system with parameter uncertainty has some common feature for those systems. The availability of this control method will be discussed in later chapter.

Robust control

If the uncertainty is within some range, the robots control can be used to insure that the system can have moderate performance with this operation range. For a robot arm, if the payload is specified, the operation range for the system can be calculated and a controller can be designed within this range. This method will be discussed in later chapter to see if it is suitable for the robot arm system.

Adaptive control

When the uncertainty parameters in the system are varying, the adaptive control can ensure the controller adapting to the changing systems. As for the robot system, while the load is changing, adaptive controller can provide more precise performance.

Sliding mode control

This control method can force the system slide along boundaries and a sliding mode surface is introduced to make the system move from the normal behavior.

2.4.2. Simulation Tools

The MATLAB Simulink environment is used to observe the performance of the controllers.

The Working Procedure can be simplified as:

One is used the Simulink blocks in the Simulink tool box, another is using s-function to program the system dynamics. These two methods were both used for the project.

Chapter 3: Approaches for Dynamic Two Link Robot Arm Model controller Design with no parameter uncertainty

3.1. PID controller

The mathematic expression for the PID controller is:

The proportional term constant is the proportion of the error. It decreases the error but also increase the possibility to oscillate. Figure 1 shows when ==0, the effect of increasing

The derivative term increases the response speed regarding to the error, it can help to prevent the large overshoot caused by the proportional term. However, when the system has high frequency noise, the derivative of the noise will produce a detrimental influence for the control system.

The integral term kills the steady state error in the whole control process. It is not only in relationship with but also in relationship with the integral time. Though it can help reduce the amplitude of overshoot, it also slows the response speed.

Combining those three terms or two of them, PI or PD can improved the system's response.

The diagram of the whole system with PID controller is:

Figure 1: Diagram for the PID controller system

The first trial of building the PID controller is performed on MATLAB-Simulink, using the Simulink Library Tools. The plant is built using MATLAB Functions. The code is attached in Appendix A.

Figure 2: System using PID Controller

3.1.2. Tuning Method Ziegler-Nichols Method

For the linear system, one of the methods to tune PID controller is by using Ziegler Nichols Tuning Method invented by Ziegler Nichols.

But whether the nonlinear robot arm dynamic system can be tuned using this method is unknown. Next steps are for testing the validity of this method. Parameters for the PID controller of the first link is denoted by , and .Parameters for the PID controller of the second link is denoted by , and .

The best way to tune the MIMO system is by tuning the two links one by one, the steps are listed below:

Set,,,, 0 and ;

Increase the value of until it arrived the ultimate value ( when the output started to oscillate) record the half period and denoted it as ;

Set the value of , according to the equations in Table 1;

Set , , ,to zero and to 1;

Increase the value of until it arrived the ultimate value (when the output started to oscillate);

Set the value of , according to the equations in Table 1

Utilise the two controllers simultaneously and see the performance of the system.


Table 1: Ziegler-Nichols Method

3.1.2 Method II: Manual Tuning

Ignore the Centrifugal and Coriolis torques, the gravitational torques, the friction torques, and the disturbance torques and suppose that only the inertia term matrix left. Now the transfer function is only a double integrator with proportion M (). Find the parameters for the system by setting the quality factor. Record those values and tune the parameters of the system in reality around them.

3.2. Feedback Linearization Mapping

The basic idea of the feedback linearization is construct a nonlinear controller, that can exactly map the nonlinear terms in the system, thus the outer loop of the system can be seen as the a linear system.

3.2.1 Limitation for the PID controller

3.2.2. Utilization of the Feedback Linerization Mapping

The diagram of the feedback linearization mapping controller is:

Figure 3: Feedback Linearization Mapping Diagram

Thus the control input torque is:

Where the PD controller

When the outer loop is closed, the system dynamic equation now becomes:


The nonlinear term is cancelled and only, in the s-domain, the dynamic equation becomes:

3.3. Feed Forward

Now if add the term to the control input u, after applying the feedback linearization to the plant, the system dynamics becomes:

This expression has nothing to do with the reference signal, thus once the PD proportions have been settled, the system can obtain sustainable performance with regarding different set point.

Figure 4:Feedforward Controller

3.3. Lead-Leg controller

Lead-Lag Controller is used to improve the system's response. According to the method mentioned in Design of Lead and Lag Controllers Using Root Locus by Tim Davidson from MCMaster Universisty, As for my plant, the lead equation is:

The system in Simulink is like:

Figure 5: PD Controller, Feed forward, Lead-Lag Compensator

Chapter 4: Experiment Results and Analysis

PID Controller

Open Loop Performance

When there is no controller involved and the system is in the open loop, the performance is:

Figure 6: Open loop response

When no external forces were applied to the robot, the arm position fell to -pi/2 for link 1 and 0 for link 2 because of the gravity influence.

PID Controller Performance

Set,,,, =0 and ;

Figure 7: PID Parameter Tuning:,,,, =0 and ;

Increase the value of until it arrived the ultimate value =365,

Apply the value for , according to Table 1.

Set , , ,to zero and to 1;

Repeat these steps to tune the second controller, and combine the two controllers together:

Figure 8: Tune the PID according to Ziegler-Nichols Method

The Result shows that this method cannot stabilize the system

Manual Tuning

Find the value of the PID controller according to the way mentioned in the previous chapter. And then tune the first link by hand and change the proportion according to the system's performance, the huge amount of experiment figures are omitted here, and below shows that best results:

Figure 9: System performance when using PID controller

The system performed poorly:

The settling time is about 10 seconds and the over shoot is about 3 times larger than the set point.

No matter what method to be used, I can always settle one of the link at a time, the other would be unable to achieve the tracking purpose.

There is steady state error in the system.

Feedback Linearization Controller

Tune the PID parameters according to the quality factor desired. Add feed forward and Lead compensator to the system, and the final output performance is:

Figure 10: System performance with Feedback Linearization mapping and lead compensator.

The settling time is within 1 second and the overshoot is within 1%.The system has an excellent performance.

4.3 Result Comparison

From the open loop plant response to adding PID controller, feedback linearization mapping, lead-lag compensator, the whole system's performance has been improved significantly

4.4 Limitations

The system performs well with ramps, step inputs, constant values and low frequency sine waves. However, when it came to high frequency sin waves, the system became unstable:

Figure 11: The reference Trajectories equals to

Also, when the parameter in the robot plant did not equal to the estimate value in the feedback linearization mapping unit, the robustness of the system is tested below(the PID controller is parameter is unchanged and the reference trajectory is step input:


Operation range

Rising Time









15-30 kg














Table 2

If the parameter mismatch were over the operation range, the system would have been unstable and the tracking purpose failed.

Besides, if there were measurement noise in the system, the performance would be:

Figure 12: Feedback Linearization Control System With Noise

Chapter 5: Approaches for Dynamic Two Link Robot Arm Controller Design With Parameter Uncertainty

5.1 Limitations for feedback Linearization mapping control algorithm

Of the limitations for feedback linearization controller mentioned in previous chapter, this chapter will deal with one of the realistic problems that feedback linearization itself alone cannot solve----parameter uncertainty.

In real life, the mass or length of the robot may be unknown, or not accurately measured. For example a crane may be asked to carry a load which is not measurable. Or the robot arm may be out of use and a new one is installed, which does not have the same mass of the previous one. Now the mass and length in Feedback linearization mapping unit is the estimate mass and length, so:

, where,, means that the parameters in the matrix are estimated. Apply the torque in the plant:

In the end:

Instead of get a double integrator, the system got a much more complicated dynamic equation. The aim then became to figure out a way to eliminate the terms . And if the control inputs were still PID or PD controller, which had some limits for this nonlinear, coupling, and sophisticated system, the robot arm system will not achieve the tracking purpose.

5.2 Double Loop Cascade Controller

One way to solve the parameter uncertainty is to use double loop cascade control.

Instead of using just one loop PID controller, another loop called inner loop was added:

Figure 13: Double Loop Cascade Controller

The inner loop had a set point which was given by the outer loop, and it changed the velocity of position angle, which was faster than the position angle itself in response to the disturbance in the system. So by applying strong gains, the inner loop could help limit the fluctuation before it influence the outer loop.

5.3Nonlinear Controller Design

If the leakage caused by the parameter mismatch in the system needs to be conquered, the nonlinear controller is a better choice. A few of the nonlinear control algorithms are introduced, and their availability is proved by using Lyapunov Stability Theorem. So before introducing the control law, this fundamental theory need to be mentioned first.

5.3.1. Lyapunoc Stability Theorem

For a system dynamics: , ,

The origin equilibrium point is stable if we can find a scalar V(t,x) that V>0 and


5.3.2. Nonlinear Damping

According to Nonlinear and Adaptive Control Design by Miroslav Krstic, Loannis Kanellakopoulos , if the system's uncertainty can be structured like below:

Figure 14: Nonlinear Damping Structure

And the state space equation can be written as:

Where u is the control input,is the disturbance and is a known smooth nonlinear bounded function.

Then the control inputs can be designed as:

and the system can be proved to converge to zero for a certain range according to the Lyapunov Stability Function.

By finding the right structure of the system, redefine:

So the robot system dynamics can be written as:

Where is the control input, and the problem now becomes can the remaining terms be written as: ?

However, by calculation and observation, the conclusion is that the robot system does not fit for the nonlinear damping structure. The main reasons are:

The control input u is involved in the uncertainty term, while in the nonlinear damping controller structure the disturbance term and the control input term are separate.

The nonlinear damping structure also requires that the disturbance is bounded, however, in this project the parameter uncertainty's bound is not specified.

5.3.4 Robust Control

The parameter mismatch between the feedback linearization mapping unit the real plant makes the system dynamics become:

Where is the matrix that contains estimated parameters, and =, and =.

Define the feedback linearization leakage as: ;

So the system dynamics can now be simplified as:

To achieve the same effect in the ideal case when the feed forward was introduced:

The control input need to achieve

So must achieve the effect of cancel the leakage term .

Apply the control input into the system dynamics:

5.3.5 Adaptive Control

Chapter 6: Simulation Results and Discussion

Chapter 7: Conclusion

Chapter 8: Future Work