# How to solve this basic dynamics/inverse kinematics problem

Suppose I have a 6-DOF robot arm with revolute joints whose tooltip is at some position $$\bf{r_0}$$ and I want to move it through some trajectory $${\bf r}(t)$$.

• For simplicity, assume there are just 2 links of length $$l_1$$ and $$l_2$$, with orthogonal joints at the ends of each link.

• Link masses are $$w_1$$ and $$w_2$$, uniformly distributed

• The initial joint angles of interest are

$${\bf \theta_0} = \left[\theta_{10}, \theta_{20}, ... \theta_{40}\right]$$

• The maximum available torque from each actuator of interest is

$${\bf T_{max}} = \left[{T_{1}}_{max}, {T_{2}}_{max}, ... {T_{4}}_{max}\right]$$

• The maximum available speed from each actuator of interest is

$${\bf \omega_{max}} = \left[{\omega_{1}}_{max}, {\omega_{2}}_{max}, ... {\omega_{4}}_{max}\right]$$

• The actuators weights are

$${\bf w_a} = \left[w_{a1}, w_{a2}, ... w_{a6}\right]$$

Only the lower 4 actuators are "of interest" because we are interested in the location of the center of mass of the final orthogonal actuators.

How does one go about solving the constrained optimization problem of finding the "optimal" tensor:

$${\bf \theta^*}(t) = \left[{\bf\theta_{1}^*}(t), {\bf\theta_{2}^*}(t), ... {\bf\theta_{5}^*}(t)\right]$$

where we assume that $$t$$ is discretized appropriately (i.e. not undersampled).

Let's assume optimality in this case means the solution that gets the tooltip through $${\bf r}(t)$$ as quickly as possible given the constraints.

• This is not a kinematics problem. Kinematics is only about motion (positions, velocities, ...) and geometrical dimensions. If you mix in forces (toriques, forces, weights, wrenches) additional to motion, it becomes a dynamics problem by definition.
– 50k4
Mar 25 at 9:15
• @50k4 - Noted. I modified my title. Mar 25 at 13:23
• One thing that has puzzled me about kinematics discussions in robotics is that it is really impossible to analyze motion without dynamics considerations, since actuators can't provide infinite torque to support arbitrary velocities and accelerations (correct?). Mar 25 at 13:37
• @guero64 - If your actuators can't provide enough torque that they can meet any demand within your operating parameters then you'll run into actuator saturation and life will get much more difficult. Input/output is nonlinear when saturation occurs, integrator windup occurs, etc. Mar 25 at 20:45
• @Chuck - Clearly. That's why I'd like to see how one goes about solving the constrained optimization problem. Mar 26 at 15:20

This seems to be a simplified version of the classic serial manipulator minimum-time-control (MTC) problem.

In general the solution will always have at Least one actuator saturated.

In general there is not a closed form solution. A solution method typically uses the Hamiltonian and energy based Lagrange multiplier that uses a shooting method to iteratively converge to the optimal solution.

Here is a good proof for the solution: https://ieeexplore.ieee.org/abstract/document/56659

Here is a good practical example for a 2 DOF manipulator https://ieeexplore.ieee.org/abstract/document/12226

• Thank you for your answer. The two sources require IEEE subscriptions to access. Is there anything in the public domain? Apr 1 at 10:26
• @guero64 - The first paper is on Rensselaer's site Apr 1 at 14:50
• This answer is helpful and definitely contributes to understanding the problem, but it doesn't account for joint speed limitations. Robot gear drives like harmonic and cycloidal drives specify maximum output torque and maximum input speed, but I have never seen a dynamics solution that completely accounts for these. I'm starting to think that none exists. Apr 2 at 13:19