# Nonlinear Control of Multibody Flexible Mechanisms: A Model-Free Approach
## 3 Nonlinear Control Design
### Application to Speed-Controlled Robots  
The proposed control action of Equation (9) is designed to work with torque-controlled robots. A more frequent case, in industrial applications, is the use of speed-controlled robots, i.e., the motor drive is set-up in order to follow a joint speed trajectory that is either precomputed or generated in real-time by a suitable closed-loop controller. Therefore, a possible modification to the control action of Equation (9) is the following control law:  
\[u^{*}(t)=k_{1}(q^{*}-q(t))+k_{2}(q^{*}-q(t))^{3}+k_{3}\int_{0}^{t}(q^{*}-q(t)) \mathrm{d}t \tag{19}\]  
The tuning parameters \(k_{1}\), \(k_{2}\) and \(k_{3}\) are fixed scalar quantities, and \(u^{*}(t)\) it the reference signal to be fed to the speed control. A direct comparison between (9) and (19) reveals that the first controller acts as a proportional-derivative controller augmented with a non-linear derivative action, while the second controller is essentially a proportional-integrative controller augmented with a nonlinear proportional action. In other words, for the first controller the modulation of gain happens on the derivative action, while for the second one it happens on the proportional action. If the inertia \(J\) of a single-joint robot can be approximated by a constant value, the acceleration of the joint is proportional to the torque \(\tau\), through the obvious relationship \(\dot{J}\dot{q}(t)=\tau(t)\). If the first control is used, the last one can be rewritten using Equation (9) as:  
\[\dot{J}\dot{q}(t)=\tau(t)=k_{p}(q^{*}-q(t))-k_{d}\dot{q}(t)-k_{n}\dot{q}(t)(q^ {*}-q(t))^{2} \tag{20}\]  
Now, considering a properly tuned robot actuated by a speed-controlled drive, with the additional feedback control of (19), Equation (20) can be written as:  
\[\dot{J}\dot{q}(t)=J\frac{d}{dt}u^{*}(t)=-Jk_{1}\dot{q}(t)-3 Jk_{2}\dot{q}(t)(q^ {*}-q(t))^{2}+Jk_{3}(q^{*}-q(t)) \tag{21}\]  
A direct comparison between (20) and (21) shows that the equivalence between the two controllers happens when \(k_{p}=Jk_{3}\), \(k_{d}=Jk_{1}\), \(k_{n}=3 Jk_{2}\). Such equivalence shows that the proposed strategy can be used for both torque-controlled systems and speed-controlled systems, retaining the same level of performance in both cases. The proof of the stability of the controller of Equation (19) is omitted, since the stability bounds can be assessed using the same procedure already developed to prove the stability of the control (9), using the candidate Lyapunov function \(V(t)=T(t)+U(t)+J\frac{k_{3}}{2}(q^{*}-q(t))^{2}\). The resulting stability bound on control gains is:  
\[k_{1}+3k_{2}(q^{*}-q(t))^{2}\geq 0 \tag{22}\]  
The control laws of (9) and (19) both require either a measurement or an estimation of the angular speed of the joint \(\dot{q}(t)\). A rough estimation of the joint speed can be achieved using numerical differentiation. Such method, while being of straightforward application, can lead to high-frequency spurious signals [38; 39] that can reduce the effectiveness or even jeopardize the stability of the closed-loop system, especially when using low-resolution encoders or high derivative gains. For this reason, a good practice is to make use of observers [38] or other filtering techniques [39; 40].