I am currently doing research on the calibration of the robots' geometry, which is a standard and well-studied topic. In fact, it can be formulated as a nonlinear non-convex optimization problem:
Imagine the robot position is denoted by $X(\theta)$, where $\theta$ is the geometry parameter that is erroneous. $X(\theta)$ is a nonlinear function. The objective function in this case is:
$$ \min_\theta \sum_{k = 1}^N \| X_k-X_k(\theta) \|_2 = \min_\theta \sum_{k = 1}^N \| \Delta r_k \|_2, $$ with $N$ being the number of observations and $X_k$ the ground truth coming from accurate sensors. However, in the literature, almost everyone linearizes this problem via Taylor series without justifications. The linearized version is given by
$$ \min_{\Delta \theta} \sum_{k = 1}^N \frac{1}{2} \| \frac{\partial X_k(\theta)}{\partial \theta} \Delta \theta - \Delta r_k\|_2, $$ with $\theta_{true} = \theta_{nominal} + \Delta \theta$.
So, my questions are somewhat on the philosophical side.
- Why do we linearize nonlinear optimization problems in the first place? Is it to make the problem convex?
- Don't we sacrifice accuracy by linearizing the problem via the Taylor series?
- With the current advanced methods and powerful processors/solvers, do we still need to linearize these problems?
Thank you in advance!
P.S. This problem is typically solved offline, to calibrate the robots every 1 or 2 years in the industry. Also, the number of optimization parameters rarely exceeds 28 (4 number of the DH parameters * 7 degrees of freedom). So, time and computational power are of no concern for this particular problem.
We can’t solve high degree equation exactly. And even if we could, it would be very slow. The first order (linear) approximation steps iterate the linear equations till the precision is good enough. This can be done much quicker that the higher degree equations, that have their own problems: they are slow, not always very stable and more difficult to implement. The first order is always the best way to start understand something, either in numerical calculations (where it is quicker, easier and more efficient) or in basic modelling of problems (where it is often necessary to get any results).