Skip to main content
  • Research Article
  • Open access
  • Published:

Enhanced vibration control of a multilink flexible manipulator using filtered inverse controller

Abstract

Flexible manipulators have numerous advantages such as lightweight, high operation speed, and low power consumption. However, they suffer from link vibrations, especially when operated at high speeds followed by sudden stops. This limitation has been addressed using techniques such as adaptive filters, adaptive strain feedback gain, state feedback control, etc. This article presents a filtered inverse controller for the mitigation of link vibrations in a multi-link flexible manipulator. To this end, the plant model, developed and linearized in Maple/Maplesim was inverted in MATLAB. The internal dynamics of the inverse model were stabilized using the state feedback technique. For safe and high-speed operations, the inverse model was augmented with a low pass filter to form the filtered inverse which was used as feedforward controller. Practical experiments were carried out in the dSPACE environment. Results show that filtered inverse controller yield not only faster response but relatively minimal link vibration when compared with the manipulator without vibration controller.

Introduction

Flexible manipulators have become popular owing to their numerous advantages in comparison to the rigid manipulators such as light weight. This called for low power rated actuators, high speed and less material requirements which render them cheap [1, 2]. Consequently, they find applications in areas like assembling of electronic hardwares, packing and palletizing, in space exploration, precision welding and painting of vehicles.

At high operation speeds and increased loading, however, due to their elastic nature, increased inertial forces leads to the vibration of the links. This causes delays in the precise positioning of the end effector. For example, approximately a third of the time spent in the operation of the remote manipulator system of the space shuttle is used to wait for vibrations to decay to negligible values [3].

One of the earliest technique of dealing with precise positioning of the end effector by damping out the link vibrations is the state feedback control. In [4], the application of state feedback on a two link, two joints system with distributed flexibility is presented. In their work, the authors derived the dynamic model of the arm using combination of transfer matrices, numerical methods and lagrangian mechanics. This was followed by the exploration of feedback schemes involving joint angles, joint velocities and flexible states. The strength of this technique lies in its simplicity. Similar work related to state feedback include [5] where LQG optimal controller is developed and employed on a model obtained by identification. Recently, authors in [6] examined accelerometer based feedback together with input shaping technique.

Yet another vibration control measure is the use of digital filters and wave shaping. Conditioning of the manipulator excitation signal can reduce the link vibration. In [7], the authors employ a lowpass digital filter to attenuate some frequency contents on the input signal thereby suppressing link vibrations. Finite impulse response (FIR) and infinite impulse response (IIR) filters with bandstop frequency response have also been designed to eliminate the dominant strain frequencies in the feedback loop. The main limitation of these fixed frequency response filters is that changes in loading and trajectories may introduce new modes different from the design frequencies or shift the frequency response of the manipulator.

The limitations of the fixed digital filters was addressed by Sasaki et al. in [8, 9]. They used adaptive notch filters and filtered-X LMS algorithm based notch filter to adapt to the strain frequencies and other modes that may arise with changes in the loading. The main challenge with adaptive filters is their narrow bandwidth such that some modes will fall outside its narrow notch. These modes will thus not be adequately suppressed. The other challenge is that though the notch can shift in the spectrum, it can only do so over finite frequency range impairing the vibration suppression adaptation capability.

Researchers [10, 11] noted that vibrations are prevalent when the arms were suddenly brought to a stop. The intensity of the excited vibrations depend on the velocity prior to this sudden stop. In this regard, they proposed an input preshaping method utilizing triangular and trapezoidal velocity profile. In this scheme, the trajectory is partitioned into three sections: acceleration time, constant velocity time and deceleration time. Timings of the three sections are dependent of the final desired angle and the loading such that the arm will decelerate to a stop exciting very minimal vibration.

There are other solutions involving infinite dimensional controllers. These includes direct strain feedback controller [12], energy based robust controller [13], proportional, derivative and strain (PDS) controller [14] to mention just but a few.

In theory, there are two types of inversion: right and left inverse [15]. In left inversion, the inverse is connected in series with the plant such that the output of the plant excites the inverse model. This arrangement seeks to reproduce the input to the plant and is popular in fault detection. Right inverse on the other hand seeks to reproduce the necessary input to the plant for the desired plant output. To achieve this, the system is configured such that the output of the inverse excites the plant. Right inverses find applications in feedforward control systems and is the subject reported in this research paper. Differences in the left and right inverse system is illustrated in Fig.  1.

Fig. 1
figure 1

Inverse controller configuration. Left inverse yields the input signal to the plant when excited from the knowledge of its output signal. Right inverse yields the necessary input to the plant for the desired plant output

Inversion of dynamics system has a history that goes back to as early as 1960s first developed by Brocket and Mesarovic in 1965 [16]. Silverman [17] in 1969 developed an iterative inversion schemes for multiple-input–multiple-output (MIMO) for time invariant as well as time variant systems by successive differentiation and partitioning the output variable. Over and above its simplicity and efficiency, the algorithm could test for the existence of the inverse such that prior check was not necessary. Massey and Sain [18] in the same period discussed the existence, properties and the development scheme of inverses of linear systems. As a result, their quest yielded a different inversion method from that of Silverman. In the decade that followed, Moylan [15] refined the previous work on inversion and developed another algorithm with enhanced efficiency and an inverse model stability criterion. Hirschorn extended the procedures earlier developed for linear system inversion to nonlinear systems.

Key concerns in the development of an inverse model are the existence of the inverse and its stability. The aforementioned classical techniques, though very effective, were limited to minimum phase systems. For non-minimum phase systems, the yielded inverse were unstable. Devasia [19], an author who has done remarkable research in inversion theory, especially for non-minimum phase systems, successfully managed to invert a non minimum phase system by isolating the internal from the external dynamic then decomposing them into stable and unstable dynamics. He used the preview technique to solve for the unstable internal dynamics. Detailed mathematical presentation of the preview based technique can be found in [20,21,22]. Other inversion techniques can be found in [23, 24] and the references therein.

In this article, we developed an inverse controller and proposed a controller to stabilize the internal dynamics of the otherwise unstable inverse model. To limit operation speeds to safe levels, the stable inverse model was augmented with lowpass filters and used as a feedforward controller to a two link, 3D flexible manipulator. The main difference between the proposed approach and input shaping is that whereas the trajectories are fixed in the latter method, different joint trajectories can be used with inverse controller.

The rest of the article is organized as follows: "Model formulation and validation" section presents the modelling of the two link, 3D flexible manipulator and validation of the model against the actual manipulator. Development of the inverse model is highlighted in "Development of the inverse system" section. The manipulator model is inverted in "Inverting the multilink flexible manipulator" section. Simulation and experimental results are presented and discussed in "Results and discussion" section followed by conclusion in "Conclusion" section.

Model formulation and validation

Controller design requires the knowledge of the plant to be controlled. Consequently, accurate modelling forms a prerequisite for a controller design. A lot of research has been done in the accurate mathematical modelling of flexible manipulators, for example [25,26,27]. This involves the application of Lagrangian mechanics or the Euler–Newton formulation which are derived from energy principles. Since these techniques involves the solution of differential equations, the solution are truncated using either finite element method (FEM) or the assumed modes methods (AMM). Mathematical modelling other than being very tedious and prone to errors especially with growing number of links and joints, also fails to capture all the details of a plant. Alternative solutions include system identification and symbolic modelling.

In system identification, input–output data and previous knowledge of the system are used to develop a statistical or neural network model of the dynamic system whose characteristics match in one form or another the input–output relationship. The main limitation of system identification is the fact that some of the phenomenon of the original plant cannot be deduced from the input output relationship. In the same respect, behaviours outside the test data cannot be identified.

Symbolic modelling on the other hand involve the use of computer applications to model and simulate the plant. Mathematical representation of the plant is then obtained, either in state space or in differential algebraic equations (DAEs). The strength of this method lies in its accuracy owing to the fact that all technical complexities, interactions and aspects of the plant that cannot be captured mathematically are put into consideration [28, 29].

The plant presented in this article is a two link, 3D flexible manipulator with a weight attached at the distal end and structured as in Fig. 2a (see Table 2 in Appendix 2 for specifications). It has three rotary joints driven by dc servomotors and two flexible links assumed to have damping of the Kelvin–Voigt type both in the lateral and the torsional senses. The control system consists of a computer, AD and DA converters interfaced to Matlab and controlled in dSPACE control desk environment. Measurement of angular position and velocity is achieved using encoders coupled to the servomotors while link strain measurement is done by strain gauges positioned at the bottom of each link.

The manipulator was modelled and linearized in Maple/Maplesim\(^{\copyright }\). Maplesim employs the Rayleigh beam theory which incorporates the rotary inertia effect over and above the kinetic and potential energies of the bending effects considered in the popular Euler–Bernoulli beam theory [30]. Graph theory is used in the formulation of the governing dynamic algebraic equations (DAE) of the flexible manipulator which will take the form of a system of PDEs and boundary conditions in form of ODEs. Simulations with such infinite dimensional PDEs would require impractical resources in terms of computer memory and would take a long time. To solve this, the truncation of the elastic coordinates for the deformation along each axis amongst the in-plane, out-of-plane, torsional deflections and longitudinal elongation is done using the assumed mode method. In this work, the manipulator was truncated to order 2.

In this work, modeling in Maplesim resulted in the model shown in Fig. 2b and whose describing matrices are presented in Appendix 3 has 17 states as follows:

Fig. 2
figure 2

Manipulator model The manipulator comprises of two flexible links whose joints are driven by dc servomotors and sitting on a rotary joint giving it a 3D motion. Details about the flexible links and the description of the accessories are as tabulated in Appendix 1

  • \(x_{1}(t) = i_1(t)\)     \(\bullet\)   \(x_{7}(t) = \dot{w}_{21}(t)\)   \(\bullet\)   \(x_{13}(t) = \dot{\theta }_2(t)\)

  • \(x_{2}(t) = w_{11}(t)\)   \(\bullet\)   \(x_{8}(t) = w_{22}(t)\)   \(\bullet\)   \(x_{14}(t) = \theta _3(t)\)

  • \(x_{3}(t) = \dot{w}_{11}(t)\)   \(\bullet\)   \(x_{9}(t) = \dot{w}_{22}(t)\)   \(\bullet\)   \(x_{15}(t) = \dot{\theta }_3(t)\)

  • \(x_{4}(t) = w_{12}(t)\)   \(\bullet\)   \(x_{10}(t) = \theta _1(t)\)   \(\bullet\)   \(x_{16}(t) = i_3(t)\)

  • \(x_{5}(t) = \dot{w}_{12}(t)\)   \(\bullet\)   \(x_{11}(t) = \dot{\theta }_1(t)\)   \(\bullet\)   \(x_{17}(t) = i_2(t)\)

  • \(x_{6}(t) = w_{21}(t)\)   \(\bullet\)   \(x_{12}(t) = \theta _2(t)\)

where \(i_j\) denotes the armature current to the servomotor driving joint \(j\;(j = 1,2,3)\), \(\theta _j\), \(\dot{\theta }_j\) are the angle and velocity of joint (j = 1,2,3) respectively whereas \((w_{11},w_{12})\), \((w_{21},w_{22})\) and their time derivatives \((\dot{w}_{11},\dot{w}_{12})\), \((\dot{w}_{21},\dot{w}_{22})\), denotes the flexure variable for links 1 and 2 respectively (see Fig. 19).

Remark 1

In the modelling of the manipulator in maplesim, the lengths of links 1 and 2 are broken into two to accommodate an instrument to measure the strain. In regard to this, in the linearized model, the flexure variable has two parts as \(w_{11}\), \(w_{12}\) for link 1 and \(w_{21}\), \(w_{22}\) for link 2, where the variable \(w_{ij}\) represent deflection in the jth (j = 1, 2) part of link i(\(i = 1, 2\)) respectively. Except for having twice as many flexure variables as the number of links, breaking the links does not affect the performance of the model.

To validate the Maplesim model, Figs. 3 and 4 shows the joint angles and strain information of the nonlinear model and the linear model against the actual manipulator. We can see perfect agreement between joint angles in 3a–3c, torsional and links strain in 4a–4c. From this observation, we can deduce that the linear model represented an accurate model of the manipulator. Further, inverse model developed from this model was an accurate inverse of the model and that of the actual manipulator.

Fig. 3
figure 3

Validation of joint angles. This figure shows the joint trajectories of the nonlinear model and the linearized model against the actual manipulator

Fig. 4
figure 4

Validation of links and torsional strain. This figure shows the link and torsional strain of the nonlinear model and the linearized model against the actual manipulator

Development of the inverse system

To develop an inverse model, consider an linear time invariant (LTI) continuous time square system \(\sum (t)\), and let the triplet A, B and C be a minimal state-space representation. It is assumed that the system is stable or stabilized by negative feedback.

$$\begin{aligned} \dot{x}(t) = \,& {} Ax(t)+Bu(t),\quad x(0) = x_0,\quad t \in \mathbb {R}^+ \end{aligned}$$
(1)
$$\begin{aligned} y(t) = \,& {} Cx(t) \end{aligned}$$
(2)

where \(x(t)\in \mathbb {R}^n\), \(u(t)\in \mathbb {R}^p\), \(y(t) \triangleq (y_1,y_2,\cdots ,y_p)^T\in \mathbb {R}^p\), \(A\in \mathbb {R}^{n\times n}\), \(B\in \mathbb {R}^{n\times p}\) and \(C\in \mathbb {R}^{p\times n}\).

Definition 1

Given \(\sum (t)\), an LTI system defined above in Eqs. (1) and (2), inversion involves the development of a model \(\sum ^{-1}(t)\) that yields the input control law \(u_f(t)\) to reproduces y(t) when used as the input to \(\sum (t)\).

Definition 2

If \(C_i\) denotes the \(i_{th}\) row of the output matrix C, then the system is said to have a relative degree \(r \triangleq (r_1,r_2\ldots ,r_p)^T\) if \(C_iA^lB = 0\), \(\forall l < r_i-1\); \(1\le i\le p\) [31]. Further, if this holds true in the entire domain in the states, then we say the system has a well defined relative degree.

Following Definition 2 above and assuming that the system has a well-defined relative degree \(r = (r_1, r_2,\ldots ,r_p)^T\), differentiating the ith output \(r_i\) times w.r.t time yields

$$\begin{aligned} y^{(r_i)} = C_iA^{(r_i)}x+C_iA^{(r_i-1)}Bu \end{aligned}$$

where \(C_i\) is the ith row of the output matrix C for \(1\le i\le p\) and the subscripts represent the Lagrange’s notation of the rith derivative in time. Repeating this for all the rows and having the resulting expressions in vector form, we have

$$\begin{aligned} y^{(r)} = A_xx(t)+B_yu(t) \end{aligned}$$
(3)

where

$$\begin{aligned} y^{(r)}\triangleq & {} \begin{bmatrix} y_1^{(r_1)}(t)\\ y_2^{(r_2)}(t)\\ \vdots \\ y_p^{(r_p)}(t) \end{bmatrix}\end{aligned}$$
$$\begin{aligned} A_x\triangleq & {} \begin{bmatrix} C_1A^{(r_1)}\\ C_2A^{(r_2)}\\ \vdots \\ C_pA^{(r_p)} \end{bmatrix} \end{aligned}$$
$$\begin{aligned}B_y\triangleq & {} \begin{bmatrix} C_1A^{(r_1-1)}B\\ C_2A^{(r_2-1)}B\\ \vdots \\ C_pA^{(r_p-1)}B \end{bmatrix} \end{aligned}$$

From Eq. (3), and the fact that \(B_y\) is invertible because of the well defined relative degree assumption, the control law is

$$\begin{aligned} u(t) = B_y^{-1}[y_d^{(r)}-A_xx(t)]\quad \forall \quad t\in (-\infty ,\infty ) \end{aligned}$$
(4)

There exist a state transformation \(T: R^n\rightarrow R^n\)

$$\begin{aligned} x(t) = T\begin{bmatrix} \xi (t) \\ \eta (t) \end{bmatrix}^T \end{aligned}$$

which decomposes the states into internal dynamics [system states, which are not directly controlled by the input u(t)], \(\eta (t)\) and the external dynamics \(\xi (t)\), (i.e., the output and its derivatives in time up to \((r_i-1)\)) as

$$\begin{aligned} \xi = [y_1,\dot{y}_1,\ldots y_1^{(r_1-1)},\ldots ,y_p,\dot{y}_p,\ldots ,y_1^{(r_p-1)}]^T \end{aligned}$$
(5)

The expression of the new system after coordinate transformation is

$$\begin{aligned} \dot{\xi } = & {} \hat{A}_1\xi +\hat{A}_2\eta +\hat{B}_1u \\ \dot{\eta }= & {} \hat{A}_3\xi +\hat{A}_4\eta +\hat{B}_2u \end{aligned}$$

where \(\hat{A} = \begin{bmatrix} \hat{A}_1&\hat{A}_2 \\ \hat{A}_3&\hat{A}_4 \end{bmatrix} = T^{-1}AT\) and \(\hat{B} = \begin{bmatrix} \hat{B}_1 \\ \hat{B}_2 \end{bmatrix}\).

Replacing x(t) in (4) with the transformed dynamics, the control law to maintain the exact tracking can be written as

$$\begin{aligned} u_{f} =\, B_y^{-1}\left[ y_d^{(r)}-A_{\xi }\xi (t)-A_{\eta }\eta (t)\right] \end{aligned}$$
(6)

where

$$\begin{aligned}{}[A_{\xi }\quad A_{\eta }] = \,A_xT \end{aligned}$$

internal dynamics can now be expressed as,

$$\begin{aligned} \dot{\eta } &= \hat{A}_3\xi +\hat{A}_4\eta +\hat{B}_2B_y^{-1}[y_d^{(r)}-A_{\xi }\xi (t)-A_{\eta }\eta (t)]\nonumber \\ &= \hat{A}_{\eta }\eta (t)+\hat{B}_{\eta }Y \end{aligned}$$
(7)

where

$$\begin{aligned} \hat{A}_{\eta } &= \hat{A}_4-\hat{B}_2B_y^{-1}A_{\eta },\, \hat{B}_{\eta } &= \left[ (\hat{A}_3-\hat{B}_2B_y^{-1}A_{\xi })\quad \hat{B}_2B_y^{-1}\right] \, \text {and} \, Y &= \left[ \xi ^T\quad y_d^{(r)T}\right] ^T \end{aligned}$$

in the same respect, Eq. (4) can now be written as

$$\begin{aligned} u(t) = {} B_y^{-1}\left[ y_d^{(r)}-A_{\xi }\xi (t)-A_{\eta }\eta (t)\right] \nonumber \\= {} -B_y^{-1}A_{\eta }\eta (t)-[B_y^{-1}A_{\xi }-B_y^{-1}]Y\nonumber \\= {} \hat{C}_{\eta }\eta (t)+\hat{D}_YY(t) \end{aligned}$$
(8)

where

$$\begin{aligned} \hat{C}_\eta &= -B_y^{-1}A_{\eta }\; \text {and}\; \hat{D}_Y & = -[B_y^{-1}A_{\xi }-B_y^{-1}]. \end{aligned}$$

Equation (7) together with Eq. (8) form the inverse system and can be represented in state space form

$$\begin{aligned} \dot{\eta }(t) = {} \hat{A}_{\eta }\eta (t)+\hat{B}_{\eta }Y(t) \end{aligned}$$
(9)
$$\begin{aligned} u(t) = {} \hat{C}_{\eta }\eta (t)+\hat{D}_YY(t) \end{aligned}$$
(10)

Inverting the multilink flexible manipulator

In order to invert the multilink flexible manipulator having three reference joint inputs, three joint angle outputs and a relative degree \(r = (3,3,3)\), the internal dynamics, \(\eta (t)\), were taken as the flexure variables:

$$\begin{aligned} \eta (t) = \begin{bmatrix} w_{11}(t)\\\dot{w}_{11}(t)\\w_{12}(t)\\\dot{w}_{12}(t)\\w_{21}(t)\\\dot{w}_{21}(t)\\w_{22}(t)\\\dot{w}_{22}(t) \end{bmatrix},\quad \xi (t) = \begin{bmatrix} \theta _1(t)\\\theta _2(t)\\\theta _3(t)\\\dot{\theta }_1(t)\\\dot{\theta }_2(t)\\\dot{\theta }_3(t)\\\ddot{\theta }_1(t)\\ \ddot{\theta }_2(t)\\ \ddot{\theta }_3(t) \end{bmatrix} \end{aligned}$$
(11)

where \(\ddot{\theta }_1 = C_1Ax, \ddot{\theta }_2 = C_2Ax, \ddot{\theta }_3 = C_3Ax\). Figure 5 shows the pole zero map of the plant and the inverse system.

Fig. 5
figure 5

Poles and zeros of the plant and its inverse. a The distribution of the poles and the zeros of the modelled and linearized manipulator. b The distribution of the poles and the zeros of the inverted model

A closer look at the pole-zero map of the inverse system, and also from the knowledge of the zeros location, the inverse system was unstable. This meant that the internal dynamics i.e. the flexure variables would not decay with time. This also meant that the control law would contain this non-decaying variables to the plant. To solve this, a feedback controller of the form v is proposed to stabilize the internal dynamics. Choosing \(v = -k\hat{B}_\eta \eta (t)\) and setting matrix k by pole placement technique, shifts the poles on the imaginary axis slightly to the left. Consequently, the state Eqs. (9) and (10) becomes

$$\begin{aligned} \dot{\eta }(t)= {} (\hat{A}_{\eta }-k\hat{B_\eta })\eta (t)+\hat{B}_{\eta }Y(t) \end{aligned}$$
(12)
$$\begin{aligned} u(t) = {} \hat{C}_{\eta }\eta (t)+\hat{D}_YY(t) \end{aligned}$$
(13)

The system described in Eqs. (12) and (13) is represented as in Fig. 6 (see Appendix 4 for details of matrices \(A_\eta\), \(B_\eta\), \(C_\eta\), \(D_Y\) and k).

Fig. 6
figure 6

Block diagram of the inverse system. This figure presents the state space Eqs. (12) and (13) as a control system block diagram

With all the poles arbitrarily placed on the left hand side of the s-plane, stability of the internal dynamics and consequently of the inverse controller is assured. The internal dynamics \(\eta (t)\) can be solved conventionally by integrating forward in time as

$$\begin{aligned} \eta (t) = e^{(A_{\eta }-kB_\eta )t}\int _{0}^te^{-(A_{\eta }-kB_\eta )\tau }B_{\eta }Y_d(\tau )d\tau \end{aligned}$$
(14)

The inverse controller required that the joint angles follow the input trajectory. Step or square wave trajectories for example meant that the joint would have infinite velocities during the rising and falling edges and this may lead to mechanical breakdown of the manipulator. To prevent this, the manipulator is excited through lowpass filters as in the internal model architecture [32, 33]. The filter takes the form

$$\begin{aligned} f(s) = \frac{1}{(\lambda s+1)^n} \end{aligned}$$
(15)

The order of the filter n was chosen to be 2. On the other hand, the adjustable parameter \(\lambda\) determine the filter roll-off which in turn determines the speed of response. Increasing the values of \(\lambda\) makes the response sluggish and vice versa. Figure 7 shows the filtered inverse control system.

Fig. 7
figure 7

Filtered inverse control system This figure shows the filtered inverse control system comprising of the filter, the inverse controller and the plant

The inverse model was developed in \(\hbox {Matlab}^{\copyright }\) and integrated into dSPACE control desk environment for practical experiments. The experimental setup is as shown in Fig. 8. The desired joint trajectory is a step having an amplitude of 20\(^\circ\) lasting for 10 s after which the manipulator will go back to it’s vertical position for 10 more seconds.

Fig. 8
figure 8

Experimental setup. On the left, we have the computer hosting the dSPACE and MatLab softwares and from where the experiments are conducted. On the right, we have the two link 3d flexible manipulator

Results and discussion

Figure 9 shows the dependence of the control law u(t) on \(\lambda\). It can be observed that the gradient of the rising edge and the falling edge is dependent on the values of \(\lambda\). For lower values of \(\lambda\), we found the gradient was very high corresponding to very high initial joint velocities. The response has an overshoot which again is dependent on the filter time constant \(\lambda\) following the high speed initial velocity.

Fig. 9
figure 9

Joints control law for varying values of \(\lambda\). For joints 1,2 and 3 and for varying values of \(\lambda\), the figure shows the evolution of the joint control law

In Fig. 10 we investigated the variation of the actual joint trajectories with \(\lambda\). Following the dependence of the control law on \(\lambda\), the joint trajectories was similarly found to be dependent on \(\lambda\). The black curve show the desired trajectory while the dotted curve show the response without the filter augmented inverse controller. Judging from the rising edge gradients, it can be observed that whereas the response corresponding to \(\lambda\) = 0.2 and \(\lambda\) = 0.3 are faster than that of the manipulator without controller, the response for \(\lambda\) = 0.5 and \(\lambda\) = 0.7 are slower. The results indicate that the higher speed responses settle to the desired trajectory faster than those with slower response. Except for the overshoot, trajectories corresponding to low values of \(\lambda\) approximated the desired trajectory.

Fig. 10
figure 10

Joint trajectories for varying \(\lambda\). The black curve show the desired trajectory while the dotted curve show the response without the filter augmented inverse controller

Whereas the filter is controlling the speed of response and thereby suppressing the vibrations, the role of the inverse controller is in ensuring that the joints follows the desired trajectory. The filter on its own will result in a system commanded by a signal whose high frequency components have been filtered out and will hardly be able to track the desired joint angles as is seen in Figs. 9 and 10.

The velocity profiles are depicted in Fig. 11 showing the time variation of the joint velocities for \(\lambda\) = 0.2, 0.3, 0.5 and 0.7. Again, for low values of \(\lambda\), the overshoot is followed by a change in direction as depicted by the negative velocities immediately after rising and positive velocity following the falling edge.

Fig. 11
figure 11

Joint velocity profiles for varying \(\lambda\). The figure shows the time variation of the joint velocities for \(\lambda\) = 0.2, 0.3, 0.5 and 0.7

Figures 12, 13 and 14 shows the in-plane and torsional strain for link 1 and link 2 for values of \(\lambda = 0.2, 0.3, 0.5\,\hbox {and}\,0.7\) respectively. Successive reduction in link vibration can be seen with increase in the value of \(\lambda\). For \(\lambda = 0.2\), the strain is very severe in comparison with that of the system without controller owing to very high initial speed followed by very sudden stop. For \(\lambda = 0.3\), it is interesting to note that though the speed is higher inferring from the velocity curve, the vibrations excited are relatively lesser that for the system without controller. This is attributed to the effect of the inverse controller and that the poles have been shifted to the right. For \(\lambda = 0.5\) and \(\lambda = 0.7\), very minimal vibrations are observed which is attributed to sluggish joint velocities.

Fig. 12
figure 12

Link 1 in-plane strain for varying \(\lambda\)

Fig. 13
figure 13

Link 2 in-plane strain for varying \(\lambda\)

Fig. 14
figure 14

Link 1 torsional strain for varying \(\lambda\)

Figures 15, 16 and 17 shows the in-plane and torsional strain spectral power densities for link 1 and link 2. Peaks between 3 and 7 Hz correspond to the link vibration dominant modes. This confirms the improvement introduced by the filtered inverse controller. Figure 18 shows the variation of the strain spectral power density with different values of \(\lambda\). Significant reduction in the vibration modes is evident at 3 Hz and minimal reduction for the 7 Hz modes. This confirms the effectiveness of the filter augmented inverse controller in the mitigation of link vibrations.

Fig. 15
figure 15

Strain power spectral density for varying \(\lambda\), link 1 in-plane

Fig. 16
figure 16

Strain power spectral density for varying \(\lambda\), link 2 in-plane

Fig. 17
figure 17

Strain power spectral density for varying \(\lambda\), link 1 torsion

Fig. 18
figure 18

Strain power spectral density for varying \(\lambda\)

Conclusion

In this paper, we successfully developed a model of a two link, 3D flexible manipulator, linearized it before developing an inverse model. The inverse model was augmented with order \(n = 2\) filter and used as a feedforward controller. The filter and the inverse model were integrated in an already existing Matlab model and the experiments carried out in dSPACE control environment. Comparing with a system without the inverse controller, the results presented show a significant reduction of the link vibration while closely tracking the desired joint angles as facilitated by the inverse controller. We found that the links velocities were dependent on the value of the filter time constant \(\lambda\) whose careful choice could yield high operation speeds and minimal link vibrations. The contribution of this article is the development of a filter augmented inverse controller and the application of this controller in vibration control akin to input shaping technique. The merit of this technique is that the trajectory is not fixed like in classical input shaping methods. Except for disturbance handling capabilities, the filtered inverse controller is simple to implement and accurate without the known limitations affecting other methods like PID, i.e. integral windup and high frequency noise amplification. To improve on the disturbance handling capabilities of the filtered inverse controller, this work can be extended to internal model control (IMC) system.

References

  1. Tso SK, Yang TW, Xu WL, Sun ZQ (2003) Vibration control for a flexible-link robot arm with deflection feedback. Int J Non Linear Mech 38(1):51–62. https://doi.org/10.1016/S0020-7462(01)00040-3

    Article  MATH  Google Scholar 

  2. Zhao Z-L, Qiu Z-C, Zhang X-M, Han J-d (2016) Vibration control of a pneumatic driven piezoelectric flexible manipulator using self-organizing map based multiple models. Mech Syst Sig Process 70:345–372. https://doi.org/10.1016/j.ymssp.2015.09.041

    Article  Google Scholar 

  3. Li WP, Luo B, Huang H (2016) Active vibration control of flexible joint manipulator using input shaping and adaptive parameter auto disturbance rejection controller. J Sound Vibr 363:97–125. https://doi.org/10.1016/j.jsv.2015.11.002

    Article  Google Scholar 

  4. Book WJ, Maizza-Neto O, Whitney DE (1975) Feedback contol of two beam, two joint sytems with distribbuted flexibility. J Dyn Syst Meas Control 97:424–431

    Article  Google Scholar 

  5. Robert H, Cannon J, Schmitz E (1984) Initial experiments on the end-point control of a flexible one-link robot. Int J Robot Res 3(3):62–75. https://doi.org/10.1177/027836498400300303

    Article  Google Scholar 

  6. Kivila A, Burgin J, Book W, Singhose W (2017) Development and verification of a 2-link flexible serial arm testbed for 3d spatial movements. In: 2017 11th Asian control conference (ASCC), 766–771. https://doi.org/10.1109/ASCC.2017.8287267.

  7. Economou D, Mavroidis C, Antoniadis I, Lee C (2000) Maximally robust input preconditioning for residual vibration suppression using low-pass fir digital filters. ASME J Dyn Syst Meas Control 124(1):85–97. https://doi.org/10.1115/1.1434272

    Article  Google Scholar 

  8. Sasaki M, Matsushita K, Ito S, Saeki T (2016) Active vibrational control of fexible manipulator using filtered-xlms algorithm. The 2nd DeKUT international conference on STI & E, Kenya

  9. Sasaki M, Wada T, Nakamura R, Ito S (2012) Vibration control of a flexible manipulator using an adaptive notch filter. In: Proceedings of the APSEM, Vietnam

  10. Malgaca L, Yavuz S, Akdag M, Karaglle H (2016) Residual vibration control of a single-link flexible curved manipulator. Simul Model Pract Theory 67:155–170. https://doi.org/10.1016/j.simpat.2016.06.007

    Article  Google Scholar 

  11. Yavuz S, Malgaca L, Karaglle H (2016) Vibration control of a single-link flexible composite manipulator. Comp Structur 140:684–691. https://doi.org/10.1016/j.compstruct.2016.01.037

    Article  Google Scholar 

  12. Luo Z-H (1993) Direct strain feedback control of flexible robot arms: new theoretical and experimental results. IEEE Trans Autom Control 38(11):1610–1622. https://doi.org/10.1109/9.262031

    Article  MathSciNet  MATH  Google Scholar 

  13. Ge SS, Lee TH, Zhu G (1996) Energy-based robust controller design for multi-link flexible robots. Mechatronics 6(7):779–798. https://doi.org/10.1016/0957-4158(96)00027-X

    Article  Google Scholar 

  14. Matsuno F, Endo T (2004) Dynamics based control of two-link flexible arm. In: The 8th IEEE international workshop on advanced motion control, 2004. AMC 04, pp 135–140. https://doi.org/10.1109/AMC.2004.1297655

  15. Moylan P (1977) Stable inversion of linear systems. IEEE Trans Autom Control 22:74–78

    Article  MathSciNet  Google Scholar 

  16. Hirschorn R (1979) Invertibility of multivariable nonlinear control systems. IEEE Trans Autom Control 24(6):855–865. https://doi.org/10.1109/TAC.1979.1102181

    Article  MathSciNet  MATH  Google Scholar 

  17. Silverman LM (1969) Inversion of multivariable linear systems. IEEE Trans Autom Control 14:270–276

    Article  MathSciNet  Google Scholar 

  18. Sain MK, Massey JL (1969) Invertibility of linear time-invariant dynamical systems. IEEE Trans Autom Control 14:141–149

    Article  MathSciNet  Google Scholar 

  19. Devasia S, Chen D, Paden B (1996) Nonlinear inversion-based output tracking. IEEE Trans Autom Control 41(7):930–942. https://doi.org/10.1109/9.508898

    Article  MathSciNet  MATH  Google Scholar 

  20. Devasia S (1997) Output tracking with nonhyperbolic and near nonhyperbolic internal dynamics: helicopter hover control. J Guid Control Dyn 20(3):573–580

    Article  Google Scholar 

  21. Zou Qingze, Devasia Santosh (1999) Preview-based stable-inversion for output tracking of linear systems. J Dyn Syst Meas Control 121:625–630

    Article  Google Scholar 

  22. Zou Q (2009) Optimal preview-based stable-inversion for output tracking of nonminimum-phase linear systems. Automatica 45(1):230–237. https://doi.org/10.1016/j.automatica.2008.06.014

    Article  MathSciNet  MATH  Google Scholar 

  23. Buchholz JJ, von Grünhagen W (2008) Inversion impossible?, Tech. Rep. University of Applied Sciences Bremen, Germany, January 2008

  24. Murray-Smith DJ (2011) Feedback methods for inverse simulation of dynamic models for engineering systems applications. Math Comput Model Dyn Syst 17(5):515–541

    Article  MathSciNet  Google Scholar 

  25. Morris AS, Madani A (1996) Static and dynamic modelling of a two-flexible-link robot manipulator. Robotica 14(3):289–300. https://doi.org/10.1017/S0263574700019603

    Article  Google Scholar 

  26. Subudhi B, Morris AS (2002) Dynamic modelling, simulation and control of a manipulator with flexible links and joints. Robot Autonom Syst 41(4):257–270. https://doi.org/10.1016/S0921-8890(02)00295-6

    Article  MATH  Google Scholar 

  27. Lochan K, Roy BK, Subudhi B (2016) A review on two-link flexible manipulators. Ann Rev Control 42:346–367. https://doi.org/10.1016/j.arcontrol.2016.09.019

    Article  Google Scholar 

  28. Komoto H, Masui K (2014) Classification of design parameters with system modeling and simulation techniques. CIRP Annal Manuf Technol 63(1):193–196. https://doi.org/10.1016/j.cirp.2014.03.098

    Article  Google Scholar 

  29. Gachadoit N, El Hadri A, Benallegue A, Seba A, Vidalie B (2010) Advanced modeling with a symbolic based approach application to the modeling, control design and real-time control and hil simulation of a quadrotor helicopter. European Congress in Embedded Real Time Software and Systems (ERTS'2010), May 19–21, Toulouse, France

  30. Han SM, Benaroya H, Wei T (1999) Dynamics of transversely vibrating beams using four engineering theories. J Sound Vibr 225(5):935–988. https://doi.org/10.1006/jsvi.1999.2257

    Article  MATH  Google Scholar 

  31. Liberzon D, Morse AS, Sontag ED (2002) Output-input stability and minimum-phase nonlinear systems. IEEE Trans Autom Control 47(3):422–436. https://doi.org/10.1109/9.989070

    Article  MathSciNet  MATH  Google Scholar 

  32. Morari M, Zafiriou E (1989) Roubust process control. Prentice Hall, New York

    Google Scholar 

  33. Rivera DE (1999) Internal model control: a comprehensive view. Arizona State University, Tempe, pp 85287–6006

    Google Scholar 

Download references

Authors' contributions

WN, MS and KM contributed to the concepts and the experimental design, WN carried out the experiments of this study, did the analysis and drafted the manuscript. MS and KM revised and refined the manuscript. All authors read and approved the final manuscript.

Acknowlegements

Not applicable.

Funding

Not applicable

Availability of data and materials

Not applicable.

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Waweru Njeri.

Appendices

Appendices

Appendix 1: Maplesim model

See Fig. 19 and Table 1.

Fig. 19
figure 19

Maplesim model of the manipulator

Table 1 Building block of the arm in Maplesim

Appendix 2: Manipulator specifications

See Table 2 .

Table 2 Specifications of the flexible manipulator

Appendix 3: State, input, output and the transfer matrices of the model

$$\begin{aligned}A= & {} \left[ \begin{array}{cccccccccccccccccccc} -509.09 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{}&{} 0 &{} 46143.66 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} -8955.97 &{} 0 &{} -503.85 &{} 0 &{} 7341.21 &{} 0 &{} 963.6405 &{} 0 &{} 0 &{} 0 &{} -58.54 &{} -13.29 &{} 12.57 &{} -0.22 &{} -0.55 &{} -38.84 \\ 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} -23638.29 &{} 0 &{} -105473.64 &{} 0 &{} 36272.29 &{} 0 &{} 107151.69 &{} 0 &{} 0 &{} 0 &{} -8.25 &{} -1.87 &{} 802.64&{} 2948.43 &{} 7350.05 &{} -5.46 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 57299.95 &{} 0 &{} 5944.79 &{} 0 &{} -60522.46 &{} 0 &{} -7988.99 &{} 0 &{} 0 &{} 0 &{} 453.84 &{} 508.15 &{} -100.48 &{} 3.1590 &{} 7.87 &{} 1484.68\\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 3910.71 &{} 0 &{} 9243.10 &{} 0 &{} -4195.63 &{} 0 &{} -12690.78 &{} 0 &{} 0 &{} 0 &{} 0.90 &{} 0.20 &{} -69.64 &{} -35.6798 &{} -88.94 &{} 0.60 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ -5.89 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} -1.74 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} -237.96 &{} 0 &{} -0.70 &{} 0 &{} 1161.67 &{} 0 &{} 0.89 &{} 0 &{} 0 &{} 0 &{} 0.12 &{} -40.47 &{} 0.01 &{} -0.0004 &{} -0.0009 &{} -118.26 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0 \\ 0 &{} -3.89 &{} 0 &{} 1106.14 &{} 0 &{} 7.22 &{} 0 &{} -155.35 &{} 0 &{} 0 &{} 0 &{} -0.0017 &{} -0.0004 &{} 0.17 &{} -177.77 &{} -443.16 &{} -0.0011 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 8903.10 &{} -3857.14 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 18260.93&{} 0 &{} 0 &{} 0 &{} -2000 \end{array} \right] \\ B= & {} \left[ \begin{array}{ccc} -909.0909091 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} -238.0952381 \\ 0 &{} -416.6666667 &{} 0 \end{array} \right] \\ C= & {} \left[ \begin{array}{cccccccccccccccccccc} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 57.2958 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 57.2958 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 57.2958 &{} 0 &{} 0 &{} 0 \end{array} \right] \\ D= & {} \left[ \begin{array}{cccccccccccccccccccc} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \end{array} \right] \end{aligned}$$

Appendix 4: State, input, output and the transfer matrices of the internal dynamics of the inverse model

$$\begin{aligned}\hat{A}_{\eta }= & {} \left[ \begin{array}{ccccccccccccccccc} 0 &{} 1 &{} 0 &{} 0 &{} 0 0 0 &{} 0 \\ -8877.8083 &{} 0 &{} -505.0084 &{} 0 &{} 6959.6426&{} 0 &{} 963.5402 &{} 0 \\ 0 &{} 0 &{} 0 &{} 1 &{} 0 0 0 &{} 0 \\ -23691.8248 &{} 0 &{} -87127.7174 &{} 0 &{} 36338.2298 &{} 0 &{} 104574.9609 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0 \\ 54312.6517 &{} 0 &{} 5955.6170 &{} 0 &{} -45939.3525 &{} 0 &{} -7980.4902 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 0 0 &{} 1 \\ 3910.2812 &{} 0 &{} 9021.0946 &{} 0 &{} -4191.1701 &{} 0 &{} -12659.5994 &{} 0 \end{array} \right] \end{aligned}$$
$$\begin{aligned}\hat{B}_{\eta }= & {} \left[ \begin{array}{ccccccccccccccccc} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ -1.0225 &{} 0 &{} 0.2194 &{} 0 &{} 0 &{} 0 &{} 0.0057 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ -0.1445 &{} 0 &{} 14.0596 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 7.9491 &{} 0 &{} -1.7512 &{} 0 &{} 0 &{} 0 &{} -0.21900 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0.0158 &{} 0 &{} -1.2161 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0.0035 &{} 0 &{} 0 &{} 0 \end{array} \right] \end{aligned}$$
$$\begin{aligned} \hat{C}_{\eta }= & {} \left[ \begin{array}{ccccccccccccccccc} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ -9.6577 &{} -0.0048 &{} -0.0285 &{} 0 &{} 47.1468 &{} 0.0235 &{} 0.0364 &{} 0 \\ -0.1422 &{} 0 &{} 40.4355 &{} 0.0104 &{} 0.2636 &{} 0 &{} -5.6792 &{} -0.0014 \end{array} \right] \end{aligned}$$
$$\begin{aligned} \hat{D}_{\eta }= & {} \left[ \begin{array}{ccccccccccccccccc} 0 &{} -1 &{} 0 &{} 0 &{} -0.8887 &{} 0 &{} 0 &{} -0.0016 &{} 0 &{} 0 &{} 0 &{} 0 \\ -0.9999 &{} 0 &{} 0 &{} -0.7935 &{} 0 &{} 0 &{} -0.0007 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} -0.9998 &{} 0 &{} 0 &{} -0.7660 &{} 0 &{} 0 &{} -0.0006 &{} 0 &{} 0 &{} 0 \end{array} \right] \end{aligned}$$
$$\begin{aligned} k= & {} \left[ \begin{array}{cccccccc} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 \\ 2313.89 &{} 13.56 &{} 1116.82 &{} -43.63 &{} -7560.17 &{} -343.54 &{} -689.07 &{} -5.71 \\ -3265.60 &{} 35.10 &{} -7935.66 &{} -179.74 &{} 1073.24 &{} 6.71 &{} 1144.59 &{} 4.55 \\ 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 \\ 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 \\ 0.00 &{} 0.00 &{} -0.01 &{} 0.00 &{} 0.00 &{} 0.00 &{} -0.02 &{} 0.00 \\ 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 \\ -137131.54 &{} 1424.34 &{} 78151.38 &{} -412.79 &{} -105725.58 &{} -12524.83 &{} -17506.15 &{} -279.30 \\ -71912.95 &{} 1716.29 &{} -121311.59 &{} -8732.30 &{} -69184.98 &{} 647.10 &{} -304710.30 &{} 1022.36 \\ 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 \\ 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 \\ 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 &{} 0.00 \\ \end{array} \right] \end{aligned}$$
$$\begin{aligned} T= & {} \left[ \begin{array}{ccccccccccccccccc} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 57.3 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 \\ 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 57.3 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 \\ 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 57.3 &{} 0.0 &{} 0.0 &{} 0.0 \\ 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 57.3 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 \\ 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 57.3 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 \\ 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 57.3 &{} 0.0 &{} 0.0 \\ 0.0 &{} -13634.2 &{} 0.0 &{} -40.2 &{} 0.0 &{} 66559.0 &{} 0.0 &{} 51.4 &{} 0.0 &{} 0.0 &{} 0.0 &{} 7.3 &{} -2319.3 &{} 0.6 &{} 0.0 &{} -0.1 &{} -6776.4 \\ -337.9 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} -99.9 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 \\ 0.0 &{} -223.1 &{} 0.0 &{} 63377.6 &{} 0.0 &{} 413.9 &{} 0.0 &{} -8901.4 &{} 0.0 &{} 0.0 &{} 0.0 &{} -0.1 &{} 0.0 &{} 10.1 &{} -10185.6 &{} -25391.4 &{} -0.1 \\ 0.0 &{} 1.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 \\ 0.0 &{} 0.0 &{} 1.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 \\ 0.0 &{} 0.0 &{} 0.0 &{} 1.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 \\ 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 1.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 \\ 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 1.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 \\ 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 1.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 \\ 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 1.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 \\ 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 1.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 &{} 0.0 \\ \end{array} \right] \end{aligned}$$

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Njeri, W., Sasaki, M. & Matsushita, K. Enhanced vibration control of a multilink flexible manipulator using filtered inverse controller. Robomech J 5, 28 (2018). https://doi.org/10.1186/s40648-018-0125-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/s40648-018-0125-7

Keywords