I'm new to the field of robotics, so this is a pretty basic question:

I'm assigned with the task of constructing a linear state space model of a 6DOF robotic arm that moves in 3D space. I believe the goal is to transform the original nonlinear problem to a piecewise linear problem for the purpose of designing a controller based on gain scheduling for example, and thus making use of the powerful linear control techniques and design tools.

I'm in the process of linearizing the dynamics using the small disturbance theory, but it is a lengthy, time-consuming process that I feel is not very practical considering the alternatives.

My question is: Is this a common practice in robotics? If not, is it practical and has it ever been done before, or should I consider an alternative approach?


No, this is not a common practice in robotics. You might have heard of an approach sometimes called "computed torque" which is a common implementation of the nonlinear control technique of feedback linearization (based on geometric nonlinear control theory). Most introductory robotics textbooks cover this control technique. Basically, it involves using your model of the robot to cancel out the nonlinear dynamics and provide a stable PD (proportional-derivative) feedback outer loop. It's stability depends on the accuracy of your dynamic model.

The problem with linearization is that it's based on operation (or disturbance) about a set point. However, your set point (desired joint angles) change drastically when operating a 6DoF robot. You can do a linearization at each time-step but that is usually applied to less complex nonlinear systems and estimation (the Extended Kalman Filter, for example).

Also I would only trust using a symbolic math toolbox for your derivations and verify with an independent dynamic model/simulation. It sounds like you might be doing the linearization by hand and I think that is unreasonable for a robotics application with anything other than the simplest 2-3 DoF manipulators. Sympy is free, Matlab has the symbolic toolbox, and Maple is a solid choice as well.

  • $\begingroup$ Thank you for your reply. I intend to carry out the linearization only once at the beginning of the calculations to obtain the state space model as a function of the equilibrium point. Then, I plan to compute the equilibrium point for each linear segment of robot motion and substitute in the state space model. I'm aware of the computed torque method and other nonlinear techniques, but do you think an approach such as this is of any practical importance considering the alternatives? $\endgroup$ – Tarek Ibrahim Jun 28 '17 at 22:01
  • $\begingroup$ I think there are a lot of challenges with a "piecewise linearized model" you are describing. One of the challenges is dealing with discontinuities as you transition from one linearized model to the next. Also, as you move away from your linearization point, your model quickly deteriorates (it is no longer valid, depending how far you move away) and linear control theory techniques (based on the assumption that your plant is linear) become unreliable. $\endgroup$ – ChisholmKyle Jul 5 '17 at 20:08
  • $\begingroup$ Why not try fancy linear control design theory applied to your outer loop with computed torque? Your success will depend on the accuracy of your dynamic model, and in a real-world scenario calibrations are required and friction is your enemy! $\endgroup$ – ChisholmKyle Jul 5 '17 at 20:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.