Symbolic Derivation of Manipulator Dyn. Denavit-Hartenberg

This single MATLAB file generates the nonlinear dynamics of any manipulator which obeys Denavit-Hartenberg parameters.
350 Downloads
Updated 16 Sep 2023

View License

To use the code, just run and enter a number between 1-9 to select one of the predefined robots in the code. They are rotary beam, planar 2 DoF manipulator, SCARA, Spherical robot, etc. The degree of freedom of them varies from 1 to 6, but it must be compatible with the case number. The dynamics of robots lower than 4 DoF are computed fast though, above 4, you should expect more time to see the results.
The notation of the code could be followed in [1] or [2].
The robots are defined between lines 109-354, you may add your own in the proposed format.
The derivation of dynamics is coded between 357-437.
The presentation of the dynamics is the rest of the code between 439-460. For robotic arms with lower than 5 DoF, you can see the output in the command screen and use it. For manipulators with higher than 5 DoF, the command window is not able to print all of them. So, you may find the dynamics in the saved output text file “Output_Manipulator_Dynamics.txt”
For the sake of speed of computations, the simplify command was removed from the codes for manipulators with more than 4 DoF, lines 445-448. If you want to see the compact form of the output, you may add a “simplify” command for them as well, but you should remember it is so time-consuming.
[1] Korayem, M.H. and S.R. Nekoo, "Finite-time state-dependent Riccati equation for time-varying nonaffine systems: Rigid and flexible joint manipulator control," ISA Transactions, 54, pp. 125-144, 2015.
[2] Korayem, M.H. and S.R. Nekoo, "State-dependent differential Riccati equation to track control of time-varying systems with state and control nonlinearities," ISA Transactions, 57, pp. 117-135, 2015.
This code is one of the attachments of Ref. [2]. It is provided for free use.
More sophisticated codes, linked to SDRE and SDDRE regulation and tracking can be found in the attachment of Ref. [2] on the journal website.

Cite As

Korayem, M.H. and S.R. Nekoo, "Finite-time state-dependent Riccati equation for time-varying nonaffine systems: Rigid and flexible joint manipulator control," ISA Transactions, 54, pp. 125-144, 2015.

Korayem, M.H. and S.R. Nekoo, "State-dependent differential Riccati equation to track control of time-varying systems with state and control nonlinearities," ISA Transactions, 57, pp. 117-135, 2015.

MATLAB Release Compatibility
Created with R2018a
Compatible with R2006b and later releases
Platform Compatibility
Windows macOS Linux
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.7

Text update.

1.0.6

Text and code edition.

1.0.5

Update on arrangement of C matrix.

1.0.4

Typos

1.0.3

Add information

1.0.2

Typos

1.0.1

Name

1.0.0