File Exchange

image thumbnail

Nonlinear Control of 3 DOF PUMA Robot

version (386 KB) by Abdel-Razzak
Nonlinear Control of 3 DOF PUMA Robot


Updated 31 Mar 2016

View License

Three different nonlinear control algorithms are used to control a three degree of freedom PUMA560 robot. These algorithms are:
Computed Torque Control, Sliding Mode and Backstepping Control.
The robot dynamics are taken from:
Brian Armstrong, Oussama Khatib & Joel Burdick , “The Explicit Dynamic Model and Inertial Parameters of the PUMA 560 Arm” , Stanford University, Artificial Intelligence Laboratory, IEEE 1986

Put the libraries lorenz3d, sfunxyz and m3dscope into your work folder of the MATLAB

Comments and Ratings (19)


I think that the problem is in the solver, you may try different solvers and run the simulation. This code was written 12 years earlier, so it is expected to have many library/function/solver/parameter problems. Try to change the solver, try to change the step size, try to change the configuration parameters. You may also make a step function-like ramp function; a ramp function with very steep slope.
Good luck,

how can we give step input instead of ramp input? it causes more error when I give step input. can you please include step input for the controller

hello, whenever I give a step input the RMS error increase, how can I give step input instead of a ramp input? any help please

Arbaz Ahmed

c x

Thanks a lot,good luck!


Dear sir
I had compute that program successful !
thx a lot.

I have another question,
have you ever do the inverse kinematic block
that if we only give desired Px,Py,Pz ,then
we could get the angle for each joint.



Dear Mr. Balaji,
Everything should be included inside the file. any initial values/assumptions are given in the programs.

Good luck,

A. Merheb

Dear sir,
I need the initial values for sfunxyz

hello sir Abderrazak-Thank you for your help on the site; I am doing a project on the neuron-fuzzy comande a puma 560 robot and I need your help to make the robot 3 degree of freedom if you can please


Dear Mr. Muzaffar,
I think that you have to make some changes in the "configuration parameters" [in simulink, go to Simulation (left upper side of the screen) --> configuration parameters]. Perhaps you have to make some changes in the "solver" part (only expecting but I don't know exactly the problem). Is the MATLAB installed completely???

Good luck


Mr. Abdel, i have this error while i run the simulation :
The specified configuration type is missing. The tools for the
configuration might not be installed.
'nmake' is not recognized as an internal or external command,
operable program or batch file




Thank's a lot, :-)

dear Abdel-razzak,
I am doing and thesis on "Neural-fuzzy control for the robotic manipulator".could you help me to do this.
could you please make program and simulink model for this and please send to me on my E-mail
i shall be highly thankfull to you.
you can see this topic on IEEE Explorer site.


The program with the given libraries is working well, I have tested it on other computers. Perhaps it's the MATLAB version or may be other things.


Still the same error. You should do proper testing before publishing your work.


Thanks Mr. Stefan
I have added the libraries, I hope the program will work now; please inform me.


A library is missing, so the model isn't running:

Failed to find library 'aerolibutil' referenced by 'sliding_mode_control/3-Link PUMA Robot-Block 2/I matrix/B matrix/b112/SinCos(2*teta2+teta3)'. This library must be on your MATLAB path.


BSD license update

The famous 'aerolibutil' library is added finally, along with some documents about the 3 dof PUMA 560 Robot

some libraries were missing... I added them

MATLAB Release Compatibility
Created with R14
Compatible with any release
Platform Compatibility
Windows macOS Linux

Discover Live Editor

Create scripts with code, output, and formatted text in a single executable document.

Learn About Live Editor

PUMA nonlinear control/