File Exchange

image thumbnail

PID control of PUMA560 robot

version (2.95 KB) by Abdel-Razzak
a MATLAB code for a PID controller of 3 DOF PUMA560 robot


Updated 31 Mar 2016

View License

The Dynamics of the robot 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

Although Uncertainty is not added, adding uncertainty is easy (check the paper).

I couldn't find such a program in the internet, so I learned using the ODE function and I have written this program. It's opened for your advises.

I still have a small problem concerning the derivative and the integral error, perhaps I have to multiply and dicide by the time division.

Cite As

Abdel-Razzak (2019). PID control of PUMA560 robot (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (4)


Try to change the "ode15s" solver; for example use the "ode15", it worked with me.

Good luck.

Karan Goyal

i am not able to run this program . i am getting an error
" Undefined function 'PID_PUMA_fn' for input arguments of type 'double'.''


thank you



BSD licence update

The error function is changed

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

PID control of PUMA560 robot - my code/