# Dynamic model using identification for control

I'm currently working of a 5 DOF robot, for which i'd like to compute the dynamic model through identification. I have experimental data representing torques (inputs) and positions (outputs). How can i obtain the closest dynamic model to the structure? and how to validate the obtained model. The objective is to design some non linear control using the obtained model. Could you help me out. Thank you so much. Regards

• Can you provide more information on how the robot's links are connected and what sensors / data you have? Are you attempting to get a black box model (no prior knowledge of robot inertial / kinematic parameters) or a gray box model (use existing knowledge of robot parameters to refine model by incorporating data)? – wyverniv May 7 '18 at 16:43
• The robot has both serial and parallel mechanisms. it contains some passive joints . I've data from incremental encoders and current sensors (hall effect). For inertial parameters, i think i can get them from solidworks. For kinematics , i've DHM parameters and can construct the forward kinematics. – Ladybird May 8 '18 at 8:27
• Welcome to Robotics Ladybird. On stack exchange, it is better to edit your question to add information requested in comments, rather than adding more comments. Comments are for helping to improve questions and answers, and are distracting, so we try to keep them to a minimum. If all of the information needed to answer the question is contained within it, the comments can be tidied up (deleted). – Mark Booth Sep 20 '18 at 13:55

Before identification of dynamic parameters, you need to know the kinematic parameters with reasonable accuracy either from kinematic calibration or CAD design. As dynamic identification concerned, you need to develop the dynamic model either from energy of the system or recursive modelling all in all torque dynamic parameters(link center of gravity,mass, and inertia) relation is given as:

\begin{equation} \tau = Y(q,q^{.},q^{..})\pi \end{equation} Y is called Regressor matrix and computed from Lagrangian L = T - V and its a function of joint configuration and $1^{st}$ and $2^{nd}$ derivative of the same. $\tau$ is the measured joint torque vector,$\pi$ is the parameter vector you intend to determine. So you may need to have $n$ equation of the above relation for the number of measurements(M) you have(different joint configurations).further $M>> p$ where p is number of parameters you need to determine.

• Thank you @Ababu . I have in addition to measurements of postions and torques, the different kinematic parameters (i.e. the mass of each link; the center of mass, and inertia Ixx Iyy Izz Ixy Ixz Iyz) obtained from solidworks. But i dont know how to construct the identification model of my robot. In papers by Gautier and Khalil , they use identify the dynamic parameters , but i'd like to identify the inertia matrix , the centrifugal and coriolis matrix and gravity vector, How can i proceed to obtain them? Thank you so much – Ladybird May 22 '18 at 9:57
• @ Ladybird: if the CAD file dynamic parameters are accurate enough, There are two line of formulation for dynamic model of your robot(Equation of Motion), Lagrange Formulation or Recursive Newton-Euler formulation. The first is simple to understand but computationally heavy special as the number of link in your robot increases. The second is more efficient to formulate M(q), $C(q,q^{.})$,g(q),(Inertia,Coriolis,and gravity vector respectively) recursively. If you are interested to know more on this two methods read this book:"Robotics Modelling, Planning and Control" – Ababu May 23 '18 at 8:31
• @Ladybird, You have to clarify your objective ; do you need to do dynamic identification( calibration of dynamic parameters) or dynamic model(Equation of Motion). If your intention is the second experimental data have no use – Ababu May 24 '18 at 0:11
• Indeed I need to identify the equation of motion. I don't understand why experimental data have no use in this case. Could you please explain more. Thank you so much – Ladybird Jun 17 '18 at 7:10
• Welcome to Robotics Ababu. On stack exchange, it is better to edit your answer to add information requested in comments, rather than adding more comments. Comments are for helping to improve questions and answers, and are distracting, so we try to keep them to a minimum. If all of the information needed to answer the question is contained within it, the comments can be tidied up (deleted). – Mark Booth Sep 20 '18 at 13:58

Given that you have your forward kinematics already, you can formulate the dynamic model with the two methods mentioned in the answer by Ababu.

Then you can put estimates of your robot parameters (masses and inertias ) and compute the regressor with the experimental data.

From the dynamic model you can parametrize the model in terms of mass/inertia parameters instead of joint positions. This parametrization let you build the regressor matrix.

A very nice method is explained in Dynamic Model Identification For Industrial Robots - Ieee Journals & Magazine.