Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Introduction

Vibration absorption is of great importance for several applications ranging from ride comfort improvement and passenger safety in conventional vehicles (see [16] and the references therein) and industrial applications (see [710] and the references therein) to military applications (see [11, 12] and the references therein). Besides the difficulty that arises from performance constraints, the designer has to take into account the actuator influence [1317]. Of special interest, as far as military applications are concerned, are anti-mine robotic manipulators (see [1820]). Also, such robotic systems are used for patrols around a military base or other government installation or for convoy support operations. Here we focus on such robotic systems where accurate firing is required while moving. Clearly, vibration minimization and compensation of the gun reaction force together with target following are required to be satisfied via an appropriate control scheme.

In the present paper, the mathematical description of a simplified robotic weapon system is presented. The system comprised of a ground vehicle equipped with a robotic manipulator carrying a gun. A two-stage control scheme towards performing accurate firing while moving and despite vibrations due to uneven ground and reaction weapon forces is designed. The control scheme is developed on the basis of the linear approximant of the system. The scheme is analyzed using an inner and an outer control loop. The inner loop controller achieves diagonalization for the transfer matrix mapping the external commands to the performance outputs as well as it satisfies a mixed disturbance rejection/disturbance attenuation criterion in order to reduce the influence of reaction weapon forces and road unevenness. The outer loop controller produces an appropriate command for the inner controller in order to follow fast and accurately a moving target. The performance of the proposed control scheme is demonstrated through simulations. The control scheme appears to contribute to force multiplication, expansion of the battle-space, extension of the warfighter’s reach, and last but not least casualty reduction. Finally, it is noted that the present paper is a generalization of the results presented in [21].

Mathematical Description of a Mobile Robotic Weapon System

Consider the mobile robotic weapon presented in Fig. 1. Assuming that the vehicle moves on a straight path, the whole motion can be faced as a 2-D problem. The mobile robot consists of a platform carrying a two-joint robot which includes a prismatic and a revolute joint. In Fig. 1 the gun is represented by an abstractive arrow shape. The vehicle is assumed to move on a horizontal level due to a force that is always parallel to the road. Ground unevenness is modeled as a force disturbance. The vibrations of the vehicle are absorbed by four absorbers, two of which act as active absorbers and the rest two as passive absorbers. The passive absorbers (vehicle suspension) are two identical conventional spring-damper structures that connect the platform of the vehicle with the front and rear wheel, respectively. They are considered to be locked, i.e., no independent motion is allowed. Consequently, the platform cannot rotate. The active vibration absorbers are two identical mass-spring-damper trios that utilize acceleration feedback with controlled delay and are placed on top of the vehicle’s platform at the position of the front and the rear wheel, respectively (see [79]). At the center of the platform, a robotic manipulator that carries a gun is considered. The “gripper” holds the gun from its center of mass. Three independent preinstalled controllers are considered to be used to regulate the forward velocity of the vehicle and the robot joints. These controllers are of the P/PD type with gravity compensation. The first controller feeds back the error between the respective commands and the forward velocity by appropriate gain K p, 1. The second and the third controller feed back the error between the respective commands and the joint variables as well as the derivatives of the joint variables, both multiplied by appropriate gains, K p, i and K d, i \(\left (i = 2,3\right )\), respectively.

Fig. 1
figure 1

A mobile robotic weapon system

The mathematical model of the robotic system is in the following general neutral multi-delay form

$$\displaystyle{ E_{0}\dot{x}\left (t\right ) + E_{1}\dot{x}\left (t-\tau \right ) = A_{0}x\left (t\right ) + B_{0}u\left (t\right ) + D_{0}\left (x\right )\xi \left (t\right ) +\varLambda _{0} }$$
(1)

where

$$\displaystyle\begin{array}{rcl} x& =&{ \left [\begin{array}{*{20}{c}} x_{1} & x_{2} & x_{3} & x_{4} & x_{5}\,\,\,x_{6} & x_{7} & x_{8} & x_{9} & x_{10} \end{array} \right ]}^{T} \\ & =&{ \left [\begin{array}{*{20}{c}} d_{f}&q_{r}&x_{r}&q_{1} & q_{2}\,\,\,\,\dot{d}_{f}&\dot{q}_{r}&\dot{x}_{r}&\dot{q}_{1} & \dot{q}_{2} \end{array} \right ]}^{T}{}\end{array}$$
(2)
$$\displaystyle{ u ={ \left [\begin{array}{*{20}{c}} u_{1} & u_{2} & u_{3} \end{array} \right ]}^{T} }$$
(3)
$$\displaystyle{ \xi ={ \left [\begin{array}{*{20}{c}} \xi _{1} & \xi _{2} \end{array} \right ]}^{T} ={ \left [\begin{array}{*{20}{c}} f_{ g}&f_{r} \end{array} \right ]}^{T} }$$
(4)

and where d 8 is the horizontal distance of the center of mass of the cart from the point of origin, q r is the passive (front or rear) suspension spring length, x r is the distance of the (front or rear) active suspension mass from the (front or rear) wheel, respectively, q 1 is the prismatic joint variable, q 2 is the revolute joint variable, u 1 is the external command to the preinstalled P controller that regulates the forward velocity of the cart, u 2 is the external command to the preinstalled P-D controller that regulates the prismatic joint, u 3 is the external command to the preinstalled P-D controller that regulates the revolute joint, f g is the gun reaction force, and f r is the disturbance force generated from road unevenness. The matrices in (1) are in the forms \(E_{0} \in {\mathbb{R}}^{10\times 10}\), \(E_{1} \in {\mathbb{R}}^{10\times 10}\), \(A_{0} \in {\mathbb{R}}^{10\times 10}\), \(B_{0} \in {\mathbb{R}}^{10\times 3}\), \(D_{0} \in {\mathbb{R}}^{10\times 2}\), \(\varLambda \in {\mathbb{R}}^{10\times 2}\), and their nonzero elements are the following: \(\left (e_{0}\right )_{1,1} = 1\), \(\left (e_{0}\right )_{2,2} = 1\), \(\left (e_{0}\right )_{3,3} = 1\), \(\left (e_{0}\right )_{4,4} = 1\), \(\left (e_{0}\right )_{5,5} = 1\), \(\left (e_{0}\right )_{6,6} = m_{c} + m_{l,1} + m_{l,2}\), \(\left (e_{0}\right )_{7,7} = m_{c} + m_{l,1} + m_{l,2}\), \(\left (e_{0}\right )_{8,7} = m_{l,1} + m_{l,2}\), \(\left (e_{0}\right )_{8,9} = m_{l,1} + m_{l,2}\), \(\left (e_{0}\right )_{7,9} = m_{l,1} + m_{l,2}\), \(\left (e_{0}\right )_{9,10} = I_{2}\), \(\left (e_{0}\right )_{10,8} = 1\), \(\left (e_{1}\right )_{7,8} = -2g_{\mathrm{res}}\), \(\left (e_{1}\right )_{10,8} = g_{\mathrm{res}}/m_{\mathrm{res}}\), \(\left (a_{0}\right )_{7,2} = -2\left (k_{p} + k_{\mathrm{res}}\right )\), \(\left (a_{0}\right )_{10,2} = \frac{k_{\mathrm{res}}} {m_{\mathrm{res}}}\), \(\left (a_{0}\right )_{7,3} = 2k_{\mathrm{res}}\), \(\left (a_{0}\right )_{10,3} = -\frac{k_{\mathrm{res}}} {m_{\mathrm{res}}}\), \(\left (a_{0}\right )_{8,4} = -K_{p,2}\), \(\left (a_{0}\right )_{9,5} = -K_{p,3}\), \(\left (a_{0}\right )_{1,6} = 1\), \(\left (a_{0}\right )_{6,6} = -K_{p,1}\left (m_{c} + m_{l,1} + m_{l,2}\right )\), \(\left (a_{0}\right )_{2,7} = 1\), \(\left (a_{0}\right )_{7,7} = -2\left (c_{p} + c_{\mathrm{res}}\right )\), \(\left (a_{0}\right )_{10,7} = \frac{c_{\mathrm{res}}} {m_{\mathrm{res}}}\), \(\left (a_{0}\right )_{3,8} = 1\), \(\left (a_{0}\right )_{7,8} = 2c_{\mathrm{res}}\), \(\left (a_{0}\right )_{10,8} = -\frac{c_{\mathrm{res}}} {m_{\mathrm{res}}}\), \(\left (a_{0}\right )_{4,9} = 1\), \(\left (a_{0}\right )_{8,9} = -K_{d,2}\), \(\left (a_{0}\right )_{5,10} = 1\), \(\left (a_{0}\right )_{9,10} = -K_{d,3}\), \(\left (b_{0}\right )_{6,1} = K_{p,1}\left (m_{c} + m_{l,1} + m_{l,2}\right )\), \(\left (b_{0}\right )_{8,2} = K_{p,2}\), \(\left (b_{0}\right )_{9,3} = K_{p,3}\), \(\left (d_{0}\right )_{6,1} =\cos \left (x_{5}\left (t\right )\right )\), \(\left (d_{0}\right )_{7,1} =\sin \left (x_{5}\left (t\right )\right )\), \(\left (d_{0}\right )_{8,1} =\sin \left (x_{5}\left (t\right )\right )\), \(\left (d_{0}\right )_{6,2} = 1\), \(\left (\lambda _{0}\right )_{7,1} = 2\psi _{0}k_{p} - 2\left (h_{v} + \psi _{\mathrm{res}}\right )k_{\mathrm{res}} - g\left (m_{c} + m_{l,1} + m_{l,2}\right )\), \(\left (\lambda _{0}\right )_{10,1} = -g + \frac{\left (h_{v}+\psi _{\mathrm{res}}\right )k_{\mathrm{res}}} {m_{\mathrm{res}}}\).

Note that m c is the cart mass, m l, 1 is the first link mass, m l, 2 is the second link mass, m res is the resonator mass, I 2 is the second link moment of inertia, h v is the vehicle height, ψ res is the resonator spring’s free length, ψ 0 is the passive absorber’s free length, k res is the resonator spring constant, k p is the suspension spring constant, c res is the resonator dumping factor, c p is the suspension dumping factor, g res is the resonator feedback gain, τ is the resonator feedback delay, and g is the gravity acceleration. The performance outputs of the system description (1) are the forward velocity of the cart \(y_{1}\left (t\right ) = x_{6}\left (t\right )\), the distance of the center of mass (c.m.) of the gun from the ground \(y_{2}\left (t\right ) = h_{v} + r_{0} + x_{2}\left (t\right ) + x_{4}\left (t\right )\), and the inclination of the gun: \(y_{3}\left (t\right ) = x_{5}\left (t\right )\). Note that r 0 denotes the radius of the wheels. The performance output vector is given by the relation

$$\displaystyle{y(t) = \left [\begin{array}{*{20}{c}} y_{1}(t) \\ y_{2}(t) \\ y_{3}(t) \end{array} \right ] = Cx(t)+\left [\begin{array}{*{20}{c}} 0\\ h_{ v} + r_{0} \\ 0 \end{array} \right ]}$$

where

$$\displaystyle{ C = \left [\begin{array}{*{20}{c}} 0&0&0&0&0&1&0&0&0&0\\ 0 &1 &0 &1 &0 &0 &0 &0 &0 &0 \\ 0&0&0&0&1&0&0&0&0&0 \end{array} \right ] }$$
(5)

The measurable outputs of the system are denoted by

$$\displaystyle{\psi (t) = \left [\begin{array}{*{20}{c}} \psi _{1}(t) \\ \psi _{2}(t) \\ \psi _{3}(t) \\ \psi _{4}(t) \end{array} \right ] = Lx(t)}$$

where

$$\displaystyle{ L = \left [\begin{array}{*{20}{c}} 0&1&0&0&0&0&0&0&0&0\\ 0 &0 &0 &1 &0 &0 &0 &0 &0 &0 \\ 0&0&0&0&1&0&0&0&0&0\\ 0 &0 &0 &0 &0 &1 &0 &0 &0 &0 \end{array} \right ] }$$
(6)

To derive the linear approximant of the robotic system, first consider the following trim conditions

$$\displaystyle{\bar{u}_{1} = \bar{w}_{1},\bar{u}_{2} = \bar{w}_{2},\bar{u}_{3} = \bar{w}_{3},\bar{\xi }_{1} = 0,\bar{\xi }_{2} = 0}$$
$$\displaystyle{\bar{x}_{1} = v_{n}t,\bar{x}_{2} = \psi _{0} -\frac{g\left (m_{c} + m_{l,1} + m_{l,2} + 2m_{\mathrm{res}}\right )} {2k_{p}} }$$
$$\displaystyle{\bar{x}_{3} = \psi _{0} + \psi _{\mathrm{res}} + h_{v} - \frac{g} {2k_{p}}\left (m_{c} + m_{l,1} + m_{l,2}\right ) - \frac{g} {k_{p}k_{\mathrm{res}}}\left (k_{p} + k_{\mathrm{res}}\right )m_{\mathrm{res}}}$$
$$\displaystyle{\bar{x}_{4} = \bar{u}_{2},\bar{x}_{5} = \bar{u}_{3},\bar{x}_{6} = v_{n},\bar{x}_{7} = 0,\bar{x}_{8} = 0,\bar{x}_{9} = 0,\bar{x}_{10} = 0}$$

Second, consider the perturbations of the state and input variables

$$\displaystyle{\delta y\left (t\right ) = y\left (t\right ) -\bar{ y},\delta x\left (t\right ) = x\left (t\right ) -\bar{ x},\delta u\left (t\right ) = u\left (t\right ) -\bar{ u}}$$
$$\displaystyle{\delta \xi \left (t\right ) =\xi \left (t\right )-\bar{\xi },\delta \psi \left (t\right ) =\psi \left (t\right )-\bar{\psi }}$$

where \(\bar{y} = C\bar{x}\) and \(\bar{\psi }= L\bar{x}\). Thus, the linear approximant of the system is of the following generalized neutral form

$$\displaystyle{ E_{0}\delta \dot{x}\left (t\right ) + E_{1}\delta \dot{x}\left (t-\tau \right ) = A_{0}\delta x\left (t\right ) + B_{0}\delta u\left (t\right ) + D_{0}\left (\bar{x}\right )\delta \xi \left (t\right ) }$$
(7)
$$\displaystyle{ \delta y\left (t\right ) = C\delta x\left (t\right ) }$$
(8)
$$\displaystyle{ \delta \psi \left (t\right ) = L\delta x\left (t\right ) }$$
(9)

Controller Design

Here, the accurate performance of the system is analyzed in two design goals. The first is to achieve a desired closed loop transfer matrix while simultaneously achieving a mixed disturbance rejection/disturbance attenuation scheme and the second is accurate following of a target. The control scheme will be analyzed using an inner and an outer control loop. The inner control loop will satisfy the first design goal while the outer loop will satisfy the second design goal.

Inner Control Loop

The inner loop controller is considered to be of the dynamic multi-delay measurement output type:

$$\displaystyle{ \delta U\left (s\right ) = K\left (s,z\right )\delta \varPsi \left (s\right ) + G\left (s,z\right )\delta R\left (s\right ) }$$
(10)

where \(\delta U\left (s\right )\), \(\delta \varPsi \left (s\right )\), and \(\delta R\left (s\right )\) are the Laplace transforms of the vector signals \(\delta u\left (t\right )\), \(\delta \psi \left (t\right )\), and \(\delta r\left (t\right )\), respectively, while \(\delta r\left (t\right ) ={ \left [\begin{array}{*{20}{c}} \delta r_{1}\left (t\right )&\delta r_{2}\left (t\right )&\delta r_{3}\left (t\right ) \end{array} \right ]}^{T}\) is the \(3 \times 1\) vector of external inputs. Clearly, it holds that \(\delta R\left (s\right ) ={ \left [\begin{array}{*{20}{c}} \delta R_{1}\left (s\right )&\delta R_{2}\left (s\right )&\delta R_{3}\left (s\right ) \end{array} \right ]}^{T}\). The Laplace transform of the perturbation of the measurement output vector is expressed by the relation \(\delta \varPsi \left (s\right ) = L\delta X\left (s\right )\), where \(\delta X\left (s\right )\) is the Laplace transform of the perturbation of the state vector \(\delta x\left (t\right )\). The elements of the controller matrices are rational functions of s with coefficients being rational functions of \(z = {e}^{-s\tau }\), i.e., \(k_{i,j}\left (s,z\right ),\,g_{i,j}\left (s,z\right ) \in \mathbb{R}\left (s,z\right )\), where \(\mathbb{R}\left (s,z\right )\) is the field of rational functions of s with coefficients being rational functions of z. It is important to mention that for the implementation of the controller (10) the elements of the controller matrices should be realizable (see [2224]). After substituting the controller (10) to system described by (7) to (9) the forced response of the closed loop system is given by the relation

$$\displaystyle\begin{array}{rcl} \delta X\left (s\right )& =&{ \left [I_{10} - H_{u}\left (s,z\right )K\left (s,z\right )L\right ]}^{-1}H_{ u}\left (s,z\right )G\left (s,z\right )\delta R\left (s\right ) \\ & & +{\left [I_{10} - H_{u}\left (s,z\right )K\left (s,z\right )L\right ]}^{-1}H_{\xi }\left (s,z\right )\delta \varXi \left (s\right ) {}\end{array}$$
(11)

where

$$\displaystyle{ H_{u}\left (s,z\right ) ={ \left [s\left (E_{0} + zE_{1}\right ) - A_{0}\right ]}^{-1}B }$$
(12)
$$\displaystyle{ H_{d}\left (s,z\right ) ={ \left [s\left (E_{0} + zE_{1}\right ) - A_{0}\right ]}^{-1}D_{ 0}\left (\bar{x}\right ) }$$
(13)

The desired closed loop matrix should have the following three characteristics: First, the closed loop transfer matrix relating the external inputs to the performance outputs is diagonal and invertible. This is the I/O decoupling design requirement. This design requirement is formally expressed as follows:

$$\displaystyle\begin{array}{rcl} & & C{\left [I_{10} - H_{u}\left (s,z\right )K\left (s,z\right )L\right ]}^{-1}H_{ u}\left (s,z\right )G\left (s,z\right ) \\ & & \quad = \left [\begin{array}{*{20}{c}} h_{m,1}\left (s,z\right )& 0 & 0 \\ 0 &h_{m,1}\left (s,z\right )& 0 \\ 0 & 0 &h_{m,1}\left (s,z\right ) \end{array} \right ]{}\end{array}$$
(14)

where the rational functions \(h_{m,1}\left (s,z\right )\), \(h_{m,2}\left (s,z\right )\), and \(h_{m,3}\left (s,z\right )\) are different than zero and they belong to \(\mathbb{R}\left (s,z\right )\).

Second, the second row–first column element and the third row elements of the closed loop transfer matrix relating the disturbances to the performance outputs are equal to zero. This is a partial disturbance rejection design requirement. This design requirement is formally expressed as follows:

$$\displaystyle\begin{array}{rcl} & & C{\left [I_{10} - H_{u}\left (s,z\right )K\left (s,z\right )L\right ]}^{-1}H_{ d}\left (s,z\right ) \\ & & \quad = \left [\begin{array}{*{20}{c}} \left (h_{d}\right )_{1,1}\left (s,z\right )&\left (h_{d}\right )_{1,2}\left (s,z\right ) \\ 0 &\left (h_{d}\right )_{2,2}\left (s,z\right ) \\ 0 & 0 \end{array} \right ]{}\end{array}$$
(15)

According to the above design requirement, the gun reaction force being the main disturbance does not influence the distance of the center of mass (c.m.) of the gun from the ground and the inclination of the gun. Also, the inclination of the gun, having the greater influence to the accuracy of the shot, is not influenced by the disturbance force generated from road unevenness.

Third, the norm of the nonzero elements of the closed loop transfer matrix relating the disturbances to the performance outputs is enough small, i.e.,

$$\displaystyle{ \max \left \{\left \|\left (h_{d}\right )_{1,1}\left (s,z\right )\right \|_{\infty },\left \|\left (h_{d}\right )_{1,2}\left (s,z\right )\right \|_{\infty },\left \|\left (h_{d}\right )_{2,2}\left (s,z\right )\right \|_{\infty }\right \} <\varepsilon }$$
(16)

where \(\varepsilon\) is an enough small positive real guaranteeing attenuation of the influence of the disturbances to the performance outputs.

In what follows the elements of the controller matrices in (10) will be selected to satisfy all three of the above design requirements. The solution of the precompensator to satisfy the I/O decoupling design requirement is

$$\displaystyle\begin{array}{rcl} G\left (s,z\right )& =&{ \left \{C{\left [I_{10} - H_{u}\left (s,z\right )K\left (s,z\right )L\right ]}^{-1}H_{ u}\left (s,z\right )\right \}}^{-1} \\ & & \times \left [\begin{array}{*{20}{c}} h_{m,1}\left (s,z\right )& 0 & 0 \\ 0 &h_{m,1}\left (s,z\right )& 0 \\ 0 & 0 &h_{m,1}\left (s,z\right ) \end{array} \right ]{}\end{array}$$
(17)

The solution of the feedback matrix to satisfy the partial disturbance rejection problem in (15) is the following

$$\displaystyle\begin{array}{rcl} & & \qquad \qquad k_{2,4}\left (s,z\right ) = \left (\left (s\left (H_{u}\right )_{1,1}\left (s,z\right )k_{1,4}\left (s,z\right ) - 1\right )\right. \\ & & \qquad \qquad \times \left \{\left (H_{d}\right )_{2,1}\left (s,z\right )\left [1 + \left (H_{u}\right )_{4,2}\left (s,z\right )\left (k_{2,1}\left (s,z\right )\right.\right.\right. \\ & & -\left.\left.k_{2,2}\left (s,z\right )\right )\right ] + \left.\left.\left (H_{d}\right )_{4,1}\left (s,z\right )\left [1 + \left (H_{u}\right )_{2,2}\left (s,z\right )\left (k_{2,2}\left (s,z\right ) - k_{2,1}\left (s,z\right )\right )\right ]\right \}\right )/ \\ & & \qquad \qquad \left \{s\left [\left (H_{d}\right )_{1,1}\left (s,z\right )\left (\left (H_{u}\right )_{2,2}\left (s,z\right ) + \left (H_{u}\right )_{4,2}\left (s,z\right )\right )\right.\right. \\ & & \qquad \qquad \quad -\left (H_{u}\right )_{1,1}\left (s,z\right )\left (\left (H_{d}\right )_{4,1}\left (s,z\right )\left (H\right )_{2,2}\left (s,z\right )\right. \\ & & \qquad \quad -\left.\left.\left.\left (H_{d}\right )_{2,1}\left (s,z\right )\left (H_{u}\right )_{4,2}\left (s,z\right )\right )\left (k_{1,1}\left (s,z\right ) - k_{1,2}\left (s,z\right )\right )\right ]\right \} {}\end{array}$$
(18)
$$\displaystyle\begin{array}{rcl} & & \quad k_{3,2}\left (s,z\right ) = \left [\left (H_{d}\right )_{4,1}\left (s,z\right )\left (H_{u}\right )_{2,2}\left (s,z\right )k_{2,2}\left (s,z\right )\right. \\ & & \quad \left.+\left (H_{d}\right )_{2,1}\left (s,z\right )\left (1 -\left (H_{u}\right )_{4,2}\left (s,z\right )k_{2,2}\left (s,z\right )\right )\right ] \\ & & \times k_{3,1}\left (s,z\right )/\left [\left (H_{d}\right )_{4,1}\left (s,z\right )\left (\left (H_{u}\right )_{2,2}\left (s,z\right )k_{2,1}\left (s,z\right ) - 1\right )\right. \\ & & \qquad \qquad -\left.\left (H_{d}\right )_{2,1}\left (s,z\right )\left (H_{u}\right )_{4,2}\left (s,z\right )k_{2,1}\left (s,z\right )\right ] {}\end{array}$$
(19)
$$\displaystyle\begin{array}{rcl} & & \qquad \qquad k_{3,4}\left (s,z\right ) = \left (\left (\left (H_{d}\right )_{2,1}\left (s,z\right )\left (H_{u}\right )_{4,2}\left (s,z\right )\right.\right. \\ & & \qquad \qquad \qquad -\left.\left (H_{d}\right )_{4,1}\left (s,z\right )\left (H_{u}\right )_{2,2}\left (s,z\right )\right ) \\ & & \qquad \qquad \times \left (s\left (H_{u}\right )_{1,1}\left (s,z\right )k_{1,4}\left (s,z\right ) - 1\right )\left \{\left (H_{d}\right )_{2,1}\left (s,z\right )\right. \\ & & \qquad \qquad \times \left [1 + \left (H_{u}\right )_{4,2}\left (s,z\right )\left (k_{2,1}\left (s,z\right ) - k_{2,2}\left (s,z\right )\right )\right ] \\ & & +\left.\left.\left (H_{d}\right )_{4,1}\left (s,z\right )\left [1 + \left (H_{u}\right )_{2,2}\left (s,z\right )\left (k_{2,2}\left (s,z\right ) - k_{2,1}\left (s,z\right )\right )\right ]\right \}k_{3,1}\left (s,z\right )\right )/ \\ & & \qquad \qquad \left \{s\left [\left (H_{d}\right )_{1,1}\left (s,z\right )\left (\left (H_{u}\right )_{2,2}\left (s,z\right ) + \left (H_{u}\right )_{4,2}\left (s,z\right )\right )\right.\right. \\ & & \qquad \qquad \quad -\left (H_{u}\right )_{1,1}\left (s,z\right )\left (\left (H_{d}\right )_{4,1}\left (s,z\right )\left (H_{u}\right )_{2,2}\left (s,z\right )\right. \\ & & \qquad \qquad \left.\left.\left (H_{d}\right )_{2,1}\left (s,z\right )\left (H_{u}\right )_{4,2}\left (s,z\right )\right )\left (k_{1,1}\left (s,z\right ) - k_{1,2}\left (s,z\right )\right )\right ] \\ & & \qquad \qquad \quad \left [\left (H_{d}\right )_{2,1}\left (s,z\right )\left (H_{u}\right )_{4,2}\left (s,z\right )k_{2,1}\left (s,z\right )\right. \\ & & \qquad \qquad + \left.\left.\left (H_{d}\right )_{4,1}\left (s,z\right )\left (1 -\left (H_{u}\right )_{2,2}\left (s,z\right )k_{2,1}\left (s,z\right )\right )\right ]\right \} {}\end{array}$$
(20)

where \(\left (H_{u}\right )_{i,j}\left (s,z\right )\), denotes the (i, j) element of \(H_{u}\left (s,z\right )\) and \(\left (H_{d}\right )_{i,j}\left (s,z\right )\) denotes the (i, j) element of \(H_{d}\left (s,z\right )\).

To satisfy the requirement of disturbance attenuation, the rest of the elements of the feedback matrices is selected to be real, i.e.,

$$\displaystyle\begin{array}{rcl} & & k_{1,1}\left (s,z\right ) = k_{1,1} \in \mathbb{R},k_{1,2}\left (s,z\right ) = k_{1,2} \in \mathbb{R},k_{1,3}\left (s,z\right ) = k_{1,3} \in \mathbb{R} {}\\ & & k_{1,4}\left (s,z\right ) = k_{1,4} \in \mathbb{R},k_{2,1}\left (s,z\right ) = k_{2,1} \in \mathbb{R},k_{2,2}\left (s,z\right ) = k_{2,2} \in \mathbb{R} {}\\ & & k_{2,3}\left (s,z\right ) = k_{2,3} \in \mathbb{R},k_{3,1}\left (s,z\right ) = k_{3,1} \in \mathbb{R},k_{3,3}\left (s,z\right ) = k_{3,3} \in \mathbb{R} {}\\ \end{array}$$

For the determination of the above real parameters, a heuristic algorithm is proposed (see [2527]).

It is important to mention that a controller selection as in (18) to (20) with the remaining elements being static can guarantee the solvability of the closed loop system, i.e.,

$$\displaystyle{ \det \left [s\left (E_{0} + zE_{1}\right ) - A_{0} - B_{0}K\left (s,z\right )L\right ]\not\equiv 0 }$$
(21)

It can be verified that the same selection guarantees the realizability of the feedback matrix. Furthermore, it can be observed that the rational matrix \(C{\left [I_{10} - H_{u}\left (s,z\right )K\left (s,z\right )L\right ]}^{-1}H_{u}\left (s,z\right )\) resulting after the above selection of the elements of the feedback matrix is birealizable. Hence, for the precompensator in (17) to be invertible and realizable, it suffices to choose the rational functions \(h_{m,1}\left (s,z\right )\), \(h_{m,2}\left (s,z\right )\), and \(h_{m,3}\left (s,z\right )\) to be delayless and different than zero, i.e.,

$$\displaystyle{h_{m,1}\left (s,z\right ) = h_{m,1}\left (s\right )}$$
$$\displaystyle{h_{m,2}\left (s,z\right ) = h_{m,2}\left (s\right )}$$
$$\displaystyle{h_{m,3}\left (s,z\right ) = h_{m,3}\left (s\right )}$$

Finally, note that for the precompensator to be at least strictly proper, a possible selection for the models’ transfer functions is

$$\displaystyle{h_{m,1}\left (s\right ) = \frac{p_{1,0}} {s + p_{1,0}}}$$
$$\displaystyle{h_{m,2}\left (s\right ) = \frac{p_{2,0}} {{s}^{2} + p_{2,1}s + p_{2,0}}}$$
$$\displaystyle{h_{m,3}\left (s\right ) = \frac{p_{3,0}} {{s}^{2} + p_{3,1}s + p_{3,0}}}$$

where p i, j  > 0. It is mentioned that the above selection of the decoupled closed loop transfer functions guarantees asymptotic command following.

Outer Control Loop

As already mentioned the design goal of the outer loop is to follow accurately a target. Let α(t) be the inclination of the gun with respect to the vertical axis, i.e., it holds that \(\alpha \left (t\right ) = x_{5}\left (t\right ) -\frac{3\pi } {2}\) (see Fig. 2). Let l(t) be the distance between the projection of the revolute joint to the ground and the intersection between the gun axis and the ground level. Clearly it holds that \(l\left (t\right ) = y_{2}\left (t\right )\tan \left (\alpha \left (t\right )\right )\). Finally, let l (t) be the distance between the projection of the revolute joint to the ground and the target.

Fig. 2
figure 2

A geometric interpretation of the distance between the aiming point and the target

Let \(\delta l(t) = l(t) -\bar{ l}\) be the perturbation of l(t), where

$$\displaystyle{ \bar{l} = \bar{y}_{2}\tan \left (\bar{\alpha }\right ) = \left (\bar{x}_{2} + \bar{x}_{4} + h_{v} + r_{0}\right )\tan \left (\bar{x}_{5} -\frac{3\pi } {2}\right ) }$$
(22)

Thus, it holds that

$$\displaystyle\begin{array}{rcl} & & \delta L\left (s\right ) = -\cot \left (\bar{u}_{3}\right )h_{m,2}\left (s,z\right )\delta R_{2}\left (s\right ) + \\ & & \quad \left (h_{v} + r_{0} + \bar{x}_{2} + \bar{x}_{4}\right )\mbox{csc} {\left (\bar{u}_{3}\right )}^{2}h_{ m,3}\left (s,z\right )\delta R_{3}\left (s\right ){}\end{array}$$
(23)

where δ L(s) denotes the Laplace transform of δ l(t). It is important to mention that after substituting the trim condition of the state variables presented in section “Mathematical Description of a Mobile Robotic Weapon System” to the relation (22) we get

$$\displaystyle\begin{array}{rcl} & & \bar{l} = -\left [h_{v} - 0.5gk_{p}^{-1}\left (m_{ c} + m_{l,1} + m_{l,2} + 2m_{\mathrm{res}}\right )\right. \\ & & \qquad \left.+\psi _{0} + r_{0} + \bar{u}_{2}\right ]\cot \left (\bar{u}_{3}\right ) {}\end{array}$$
(24)

Target following will be achieved by adjusting the distance of the revolute joint from the ground while preserving constant inclination of the gun, i.e., \(\delta R_{3}\left (s\right ) = 0\). Using \(\delta R_{3}\left (s\right ) = 0\) as well as (14) and (15) we observe (with respect to the linear model) that the inclination of the gun remains constant. Also, from (23) we observe (with respect to the linear model) that the influence of the disturbances to δ l(t) has been eliminated. With respect to the nonlinear model, it is significant to mention that through the disturbance rejection controller the influence of the gun reaction to the distance of the center of mass of the gun from the ground and the inclination of the gun have been eliminated while the disturbance due to road unevenness has significantly been reduced.

Let \(\delta {l}^{{\ast}}(t) = {l}^{{\ast}}(t) -\bar{ l}\) be the perturbation of l (t). Let δ L (s) be the Laplace transform of δ l (t). The outer loop controller is proposed to be of the following PID form

$$\displaystyle{ \delta R_{2}\left (s\right ) = \left (f_{p} + \frac{1} {s}f_{i} + sf_{d}\right )\left (\delta {L}^{{\ast}}\left (s\right ) -\delta L\left (s\right )\right ) }$$
(25)

Let \(l(0-) =\bar{ l}\). Hence using \(\delta R_{3}\left (s\right ) = 0\), (22) to (24) as well as the definition of the decoupled closed loop transfer function presented in section “Inner Control Loop,” the perturbation of the aiming point position is related to the perturbation of the target positions by the relation

$$\displaystyle{ \delta L\left (s\right ) = H_{l}(s)\delta {L}^{{\ast}}\left (s\right ) }$$
(26)

where

$$\displaystyle\begin{array}{rcl} & & H_{l}\left (s\right ) = -\left (f_{d}p_{2,0}\cot \left (\bar{u}_{3}\right ){s}^{2} + f_{ p}p_{2,0}\cot \left (\bar{u}_{3}\right )s\right. \\ & & \quad \left.+f_{i}p_{2,0}\cot \left (\bar{u}_{3}\right )\right )/\left [{s}^{3} + \left (p_{ 2,1} - f_{d}p_{2,0}\cot \left (\bar{u}_{3}\right )\right ){s}^{2}\right. \\ & & \quad \left.+p_{2,0}\left (1 - f_{p}\cot \left (\bar{u}_{3}\right )\right )s - f_{i}p_{2,0}\cot \left (\bar{u}_{3}\right )\right ] {}\end{array}$$
(27)

The transfer function (27) is stable if and only if the PID controller parameters satisfy the following inequalities

$$\displaystyle{ f_{p} >\tan \left (\bar{w}_{3}\right ) }$$
(28)
$$\displaystyle{ f_{i} > 0 }$$
(29)
$$\displaystyle{ f_{d} > \frac{f_{i} - f_{p}p_{2,1} + p_{2,1}\tan \left (\bar{u}_{3}\right )} {p_{2,0} - f_{p}p_{2,0}\cot \left (\bar{u}_{3}\right )} }$$
(30)

To satisfy (28) to (30) the PID controller parameters are selected to be

$$\displaystyle{ f_{p} = \frac{\left [p_{2,0} -\lambda {\left (1 +\lambda {+\lambda }^{2}\right )\rho }^{2}\right ]\tan \left (\bar{u}_{3}\right )} {p_{2,0}} }$$
(31)
$$\displaystyle{ f_{i} = -\frac{{\lambda }^{3}{\rho }^{3}\tan \left (\bar{u}_{3}\right )} {p_{2,0}} }$$
(32)
$$\displaystyle{ f_{d} = \frac{\left [p_{2,1} -\left (1 +\lambda {+\lambda }^{2}\right )\rho \right ]\tan \left (\bar{u}_{3}\right )} {p_{2,0}} }$$
(33)

where λ > 0, ρ > 0 are free parameters. Thus, (27) takes on the form

$$\displaystyle\begin{array}{rcl} & & H_{l}(s) = \left \{[(1 +\lambda {+\lambda }^{2})\rho - p_{ 2,1}]{s}^{2} + [\lambda {(1 +\lambda {+\lambda }^{2})\rho }^{2} - p_{ 2,0}]s\right. \\ & & \left.\qquad \qquad {+\lambda { }^{3}\rho }^{3}\right \}/[(s+\rho )(s+\lambda \rho )(s {+\lambda }^{2}\rho )] {}\end{array}$$
(34)

To complete the determination of the outer control loop, it suffices to find appropriate λ > 0 and ρ > 0 such that the gun follows quickly and accurately any change to the distance of the target from the vehicle while simultaneously satisfying actuator constraints.

Step-Wise Supervisor

The above design scheme is based mainly upon adjustments of the distance of the revolute joint from the ground. To handle also the cases where the prismatic joint reaches its upper or lower bound, the following step-wise supervisor is proposed:

Case 1::

If the distance of the target from the vehicle increases and the prismatic joint reaches its upper bound then

Step 1.1::

lower the prismatic joint,

Step 1.2::

increase the angle of the gun,

Step 1.3::

reevaluate the linearized model and controller parameters and apply the design scheme presented in sections “Inner Control Loop” and “Outer Control Loop.”

Case 2::

If the distance of the target from the vehicle decreases and the prismatic joint reaches its lower bound then

Step 2.1::

lift the prismatic join,

Step 2.2::

decrease the angle of the gun,

Step 2.3::

reevaluate the linear model and controller parameters and apply the design scheme presented in sections “Inner Control Loop” and “Outer Control Loop.”

Simulation Results

The model parameters are considered to be:

$$\displaystyle{m_{c} = 15.2(\mathrm{kg}),m_{l,1} = 0.81(\mathrm{kg}),m_{l,2} = 0.628(\mathrm{kg})}$$
$$\displaystyle{m_{\mathrm{res}} = 0.177(\mathrm{kg}),k_{p} = 62,000(\mathrm{N/m}),k_{\mathrm{res}} = 3,490,000(\mathrm{N/m})}$$
$$\displaystyle{c_{p} = 2,500(\mathrm{kg/s}),c_{\mathrm{res}} = 81.8(\mathrm{kg/s}),g_{\mathrm{res}} = 0.01833(\mathrm{kg})}$$
$$\displaystyle{I_{2} = 0.00081(\mathrm{kg\times }{\mathrm{m}}^{\mathrm{2}}),\psi _{ 0} = 0.3\left (\mathrm{m}\right ),r_{0} = 0.02\left (\mathrm{m}\right )}$$
$$\displaystyle{h_{v} = 0.01(\mathrm{m}),g = 9.81(\mathrm{m/s}{\mathrm{c}}^{2}),\tau = 0.000387(\mathrm{s})}$$
$$\displaystyle{K_{p,2} = 100,K_{p,3} = 100,K_{d,2} = 10,K_{d,3} = 10}$$
$$\displaystyle{K_{p,1} = 2,v_{n} = 1(\mathrm{m/s})}$$

The nonzero trim conditions are:

$$\displaystyle{\bar{u}_{1} = 1(\mathrm{m/s}),\bar{u}_{2} = 0.25(\mathrm{m}),\bar{u}_{3} = 6.152(\mathrm{rad})}$$
$$\displaystyle{\bar{x}_{1} = t(\mathrm{m}),\bar{x}_{2} = 0.2987(\mathrm{m}),\bar{x}_{3} = 0.4087(\mathrm{m})}$$
$$\displaystyle{\bar{x}_{4} = 0.25(\mathrm{m}),\bar{x}_{5} = 6.152(\mathrm{rad}),\bar{x}_{6} = 1(\mathrm{m/s})}$$

The inner closed loop I/O transfer matrix parameters are selected to be:

$$\displaystyle{p_{1,0} = 10,p_{2,0} = 50,p_{2,1} = 15,p_{3,0} = 50,p_{3,1} = 15}$$

With respect to the feedback matrix, we select \(\varepsilon = 5e - 5\). Then a set of controller parameters satisfying the inequality in (16) are:

$$\displaystyle{k_{1,1} = 0,k_{1,2} = -466.015,k_{1,3} = -2.1622,k_{1,4} = -586.9273}$$
$$\displaystyle{k_{2,1} = -27.3172,k_{2,2} = -565.5233,k_{2,3} = -30.3138}$$
$$\displaystyle{k_{3,1} = -4.2357,k_{3,3} = -555.3803}$$

With respect to the outer closed loop, it is observed that for the transfer function in (34) to have a maximum rise time of 0.575 s, it suffices to choose ρ = 3 and λ = 2 thus yielding f p  = 0. 407283, f i  = 1. 15754, and f d  = 0. 0321539.

With respect to the gun reaction force (see Fig. 3) it will be assumed that it simulates the reaction force generated from a rifle shot (e.g., [28]). We will further assume that the force pattern is repeated every 2 s. With respect to the road disturbance, it is assumed that it is a random uniform noise in the form presented in Fig. 4. The target distance is considered to be \({l}^{{\ast}}\left (t\right ) = \left (h_{v} + r_{0} + \bar{x}_{2} + \bar{x}_{4}\right )\tan \left (\bar{x}_{5} -\frac{3\pi } {2}\right ) +\sin \left (4t\right )\). The external commands are selected to be \(\delta r_{1}\left (t\right ) = 0\) and \(\delta r_{3}\left (t\right ) = 0\). The distances of the aiming point from the vehicle and the target point from the vehicle are presented in Fig. 5. Note that both responses are visually identical. The forward velocity is presented in Fig. 6. It is important to mention that the inclination of the gun is not affected neither by the disturbances nor variations of the other variables. The distance of the center of mass of the gun from the ground is presented in Fig. 7. The rest of the state variables of the system remains within acceptable limits.

Fig. 3
figure 3

Gun reaction force

Fig. 4
figure 4

Road disturbance force

Fig. 5
figure 5

Distance of the aiming and target points (cont. aiming, dotted target, visually identical)

Fig. 6
figure 6

Forward velocity of the cart

Conclusions

The mathematical description of a simplified robotic weapon system has been presented. The system comprised of a ground vehicle equipped with a robotic manipulator carrying a gun. A two-stage control scheme towards performing accurate firing while moving and despite vibrations due to uneven ground and reaction weapon forces has been designed. The control scheme has been developed on the basis of the linear approximant of the system. The scheme has been analyzed using an inner and an outer loop. The inner loop controller achieved diagonalization for the transfer matrix mapping the external commands to the performance outputs, as well as a mixed disturbance rejection/disturbance attenuation scheme. The outer loop controller produced an appropriate command for the inner controller in order to follow fast and accurately the moving target. The performance of the proposed control scheme has been demonstrated through simulations. It has been observed that all design requirements have been satisfied. The gun aimed accurately at a moving target despite gun reaction and road unevenness, the influence of the disturbances to the forward velocity of the vehicle was small and the inclination of the gun remained unaffected.

Fig. 7
figure 7

Distance of the center of mass of the gun from the ground