Skip to content

Collections of reusable MATLAB robotics functions, can be compilled to DLL and called with LabVIEW.

Notifications You must be signed in to change notification settings

auralius/my-matlab-robotics-toolbox

Repository files navigation

my-matlab-robotics-toolbox

A simple and straightforward implementation of the DH-parameters in MATLAB

There are two different conventions on the implementation of the DH-parameters. This one uses the standard DH-parameters which can as well be found in this book: https://www.cs.duke.edu/brd/Teaching/Bio/asmb/current/Papers/chap3-forward-kinematics.pdf. The results have been validated with Peter Corke's RVC toolbox (https://github.com/petercorke/robotics-toolbox-matlab).

cgr prefix means the code is code-generation ready.
ncgr means the code is NOT code-generation ready.

Features:

  • Forward kinematics
  • Homogenous transformation of each link of the robot
  • Numerical Jacobian
  • Simple visualization, it can also be animated
  • Inverse kinematics with the pseudo-inverse method and damped least square method.
  • Code generation ready.

How to use:

  • Create a global variable N_DOFS and define the number of degree-of-freedom of the robot in it. The reason why global variable is used is because I keep having problems in using the dynamic memory allocation for MATLAB coder. Therefore, I use global variable to define the dimension of the necessary static arrays.
  • Create the robot structure with cgr_create.
  • Actuate and update the joint with cgr_self_update functions.
  • If necessary, plot the robot with ncgr_plot by first calling ncgr_graphic once at the beginning of the program.
  • To create the compiled MEX or DLL files, two examples of MATLAB Coder project files are provided. This is where the global variable is used.

Screenshot

Screenshot

Auralius Manurung [email protected]

About

Collections of reusable MATLAB robotics functions, can be compilled to DLL and called with LabVIEW.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages