Determining the dynamics model of a robot using Lagrange equation becomes very long and time consuming 'when the degree of freedom increase', moreover,it involves many derivatives and stuff...00...What is the best package, to figure out this issue.
I personally use Matlab scrips to do it. Have ever tried?
In that case you got to manually describe all Lagrangian equations in terms of symbolic expressions so Matlab may solve them and give you back with a simplified one.
Wolfram Mathematica also allows you to achieve the same goals.
I haven't used Mathematica for that, but I tried Matlab; so how to organize the terms, associated with q'',q',q, to make/put it in the form M(q)q''+C(q,q')+G(q)=Q, for the documentation purposes. for like 3 or 4 dof.
Hi Amin, Mathematica is the option that I usually use and prefer. The syntax of mathematica and matlab is somehow similar.
In order to get the system dynamics in the form you want, i.e.
M(q)q''+C(q,q')+G(q)=Q
You first need to obtain this differential equations using Newtonian or Lagrangian Mechanics. Then, using the symbolic manipulation package (Mathematica or Matlab), you take from the computed expression the coefficients of q'' term and this will construct your mass matrix M(q). In order to take the coefficient of an expression in Mathematica, you use the command Coefficient [ expr, var]. There should be a similar command in Matlab for that.
I did my own algorithm using Matlab Symbolic Math toolbox. However, for simplifying the model I used Visual Basic to deal with text manipulation. I also used the SYMORO+ ( now it is free) . SYMORO+ can give you different models; Kinematic, Identification, Dynamic .. etc. In my opinion one should try SYMORO+ first.
the newton-euler récursive model ii easy to use for serial robot. You can write your own program. Also you can, generate the terms of the matrix of the equation of motion without any derivations. see Wissama khalil