Skip to main content

A Closed-Loop Dynamic Controller for Active Vibration Isolation Working on A Parallel Wheel-Legged Robot


Serving the Stewart mechanism as a wheel-legged structure, the most outstanding superiority of the proposed wheel-legged hybrid robot (WLHR) is the active vibration isolation function during rolling on rugged terrain. However, it is difficult to obtain its precise dynamic model, because of the nonlinearity and uncertainty of the heavy robot. This paper presents a dynamic control framework with a decentralized structure for single wheel-leg, position tracking based on model predictive control (MPC) and adaptive impedance module from inside to outside. Through the Newton-Euler dynamic model of the Stewart mechanism, the controller first creates a predictive model by combining Newton-Raphson iteration of forward kinematic and inverse kinematic calculation of Stewart. The actuating force naturally enables each strut to stretch and retract, thereby realizing six degrees-of-freedom (6-DOFs) position-tracking for Stewart wheel-leg. The adaptive impedance control in the outermost loop adjusts environmental impedance parameters by current position and force feedback of wheel-leg along Z-axis. This adjustment allows the robot to adequately control the desired support force tracking, isolating the robot body from vibration that is generated from unknown terrain. The availability of the proposed control methodology on a physical prototype is demonstrated by tracking a Bezier curve and active vibration isolation while the robot is rolling on decelerate strips. By comparing the proportional and integral (PI) and constant impedance controllers, better performance of the proposed algorithm was operated and evaluated through displacement and force sensors internally-installed in each cylinder, as well as an inertial measurement unit (IMU) mounted on the robot body. The proposed algorithm structure significantly enhances the control accuracy and vibration isolation capacity of parallel wheel-legged robot.

1 Introduction

The quadruped machine is the most agile-legged robot that can accomplish traversing by swing leg without high-complexity dynamics [1]. To improve the motion efficiency, a novel design of a mobile robot, called BIT-NAZA [2], that adopts arbitrary arrangements of legged and wheeled locomotion accounting for different types of terrains is introduced. The hybrid robot [3] tightly integrates the wheel on the end-effector of its foot. The wheel-leg favors parallel mechanism with inverted Stewart plat instead of classical three-joint serial structure, thereby inheriting existing benefit: The ability of the parallel wheel-leg to maintain the robot body horizontally with modest oscillation as soon as possible while the robot is rolling on uneven ground. To obtain a better vibration performance, the precise potion tracking loop for single wheel-leg is a basic procedure [4]. Developing a delicate force-driven controller based on dynamic model and merging adaptive impedance control loop is the primary scheme needed to achieve the single-foot vibration isolation [5]. It is also the first time to utilize these two control loops on the Stewart parallel mechanism to the best of the authors’ knowledge.

As a leg in legged locomotion, Stewart platform should swing along a trajectory to traverse the obstacle [6]. Apart from employing position control for Stewart manipulator [7] with conventional adaptive fuzzy sliding mode control method, Nabavi et al. [8] analyzed dynamic models using the Newton-Euler equation to form a closed-loop dynamic control techniques with force, thereby successfully tracking two trajectories. Incremental nonlinear dynamic inversion [9] addressed the implementation of a high-precision force controller for a Stewart hydraulic robot in the presence of parameter uncertainties, thereby validating the good performance of force and position tracking. There are also several position control approaches for robots with serial link [10], which tracks the target trajectories. A seven-link biped robot [11] coupled the feedforward compensator into fuzzy controller with inverse dynamic and noise reduction capability to track the desired motion. A new dynamic method [12] for fully reactive footstep planning characterized a careful feature of the planar spring-mass hopper. The LittleDog [13] robot employed QR decomposition to solve the floating-base inverse dynamics problem and predict force control, thereby increasing robustness despite of unknown perturbations.

Several algorithms are implemented to sustain a specific constatn posture or configuration for common serial-structure mechanism [14]. Five candidate Jitter cancelation algorithms are evaluated [15] for active vibration control on a spacecraft testbed, with adaptive linear model predictive control achieving one of the best disturbance rejection results with a 66\(\%\) overall amplitude reduction. A new cooperative model predictive control [16] is developed for Stewart stabilizable system. A new attitude balancing strategy [17] implemented an inverse kinematic scheme based on extended prediction self-adaptive control algorithm to generate full body motions that ensure the desired balancing performances for a hybrid wheel-legged mobility system. A design procedure for multi-strut vibration isolation platform [18] is the determination of optimal damping frequency for tree parameter isolator, which is tuned as the optimal damping frequency in three orthogonal directions. To obtain a favorable vibration performance, the dynamic model of the Stewart platform is constructed with flexible hinges [19] and coupled multiple flywheel system [20], forming state-space equations for control purposes. To suppress the self-excited vibration owing to flexibility, friction, backlash, coupling, and other nonlinear factors, a nonlinear controller and a fuzzy control algorithm [21] are designed to attenuate the self-excited vibration for the 3-RRR flexible parallel robot. The dynamic model of the Stewart platform is established by the frequency response function synthesis method. In the active control loop [22], the direct feedback of integrated forces is combined with the FxLMS-based adaptive feedback to dampen vibration. The finite frequency \(Hs_\infty\) vibration control technique and fractional-order \(PD_{v}\) are developed in a feedback loop [23] to suppress vibration modes and external disturbances for space flexible structures. However, there is no vibration isolation algorithm implemented on an inverted Stewart mechanism while the wheel fixed on end-effector is rolling on the rough terrain.

Additionally, a common method of disposing interaction with environment, such as vibration, is impedance control and force position hybrid control, which operates like an active spring [24]. A position controller for parallel robot [25] utilized the position impedance control to achieve smooth contact with environment, which is combined with Kalman filter to predict stability margin of robots inside zero moment point (ZMP) stability observer. The main application of variable impedance control is to adapt impedance parameters into position and velocity feedback [26], thus satisfying desired force value. A new adaptive impedance control [27] was proposed for force tracking that has the capability to track the dynamic desired force and compensate for uncertainties in environment, in terms of unknown geometrical and mechanical properties. The robotic manipulator [28] employed a novel adaptive impedance control, where the linear quadratic regulation (LQR) is formulated. The integral reinforcement learning is proposed to solve the given LQR with little information about the human arm model.

We present a robust control framework with force input based on dynamic model of Stewart wheel-leg to swing and isolate vibration for BIT-NAZA robot. The BIT-NAZA robot, a type of wheel-legged hybrid robot with Stewart parallel mechanism, is used to improve high payload and stability for vibration isolation. This paper mainly introduces the whole controller framework for single wheel-leg. The model predictive control based on dynamic model in inner-loop accomplishes precise position tracking. Upon position loop, the adaptive impedance control loop adjusts foot position to track target support force, thus keeps the robot body horizontal with ground. These parts constitute the closed-loop dynamic control framework, which is the first time the framework is applied to a parallel wheel-leg. The core of our work, which lies on the Newton-Euler dynamic equation, reveals the relationship between strut input force and foot configuration. To obtain a smooth output trajectory of wheel-legged mechanism, the desired velocity and control input increment are limited during each sampling instant. The feedback data is measured from displacement sensor installed in each strut and interactively, updating by forward kinematic calculation. Our methodology combined with adaptive impedance control in outer-loop, enables a sequence of corresponding control input for vibration isolation motion interacting with unknown environment, where the actual state feedback is also necessary to estimate environmental stiffness. For the availability validation of our proposed approach, the mentioned method is employed in two kinds of implements working on practical prototype, enforcing wheel-leg to track the swing trajectory, and driving the robot to pass through the speed bumps.

2 Problem Formulation and System Dynamic Model

One of the most substantial benefits of parallel wheel-legged mechanism is active vibration isolation to decrease attitude variation of robot body while rolling on irregular terrain. As a result, the robot can acquire more robust position tracking performance while swinging foot and inner-loop isolating vibration. Our proposed algorithm is responsible for maintaining body horizontally according to data from the displacement and force transducer embedded in each strut. The wheeled speed consensus control [29] is not concerned, thereby leading robot to run at a constant default speed.

The block diagram for single-foot controller is demonstrated in Figure 1, where different boxes represent effective modules and procedure adjusting single Stewart configuration, \(i=1,\cdots ,4\). During the walking locomotion, robot swings foot to track obstacle-negotiating trajectory. We imposed the practical stretching length of strut as feedforward of model predictive controller and calculate the current configuration through Newton-Raphson iteration. The current configuration, velocity, and angular speed are combined into a dynamic model of Stewart wheel-leg, which forms a closed-loop position tracking controller with force input. The purpose of the vibration isolation is to alter the configuration of wheel-leg to adapt robot under the terrain variation. It also enables wheel-leg to track the desired force, sharing robot mass with other three wheel-legs, and ensuring close contact between the foot and the ground. When four wheel-legs stand on their median configuration, the body frame \(\mathcal {R}\), foot frame \(\mathcal {F}_i, i=1,\dots ,4\), and world frame \(\mathcal {W}\) are constructed and attached on robot as described in Figure 2. The proposed algorithm applies torque control to adjust the foot displacement along Z-axis, thereby tracking support force to achieve the vibration isolation. The most outstanding method to evaluate the performance of the algorithm is to measure the attitude variation of robot body and foot force along vertical direction. We illustrated the experimental data through operating the whole control framework on BIT-NAZA robot.

Figure 1
figure 1

Vibration isolation block diagram for rolling motion

Figure 2
figure 2

Kinematic workspace and impedance definition of wheel-leg

Figure 3
figure 3

Stewart coordinate frame definition

The cardan joints connect struts with moving and base platforms, ensuring zero constraint on six degrees-of-freedom (6-DOFs) for the moving platform. Progressively, invert the Stewart wheel-leg to describe dynamic model arrangement as depicted in Figure 3. The moving frame \(\mathcal {B}\) and base frame \(\mathcal {A}\) are fixed on moving and base plats respectively. Thus, the rotation matrix transformed from moving frame \(\mathcal {B}\) to base frame \(\mathcal {A}\) is

$$^{{\mathcal{A}}} R_{{\mathcal{B}}} = \left[ {\begin{array}{*{20}ll} {c\phi _{z} c\phi _{y} } & \quad{c\phi _{z} s\phi _{y} s\phi _{x} - s\phi _{z} c\phi _{x} } & \quad {c\phi _{z} s\phi _{y} c\phi _{x} + s\phi _{z} s\phi _{x} } \\ {s\phi _{z} c\phi _{y} } & \quad {s\phi _{z} s\phi _{y} s\phi _{x} + c\phi _{z} c\phi _{x} } & \quad {s\phi _{z} s\phi _{y} c\phi _{x} - c\phi _{z} s\phi _{x} } \\ { - s\phi _{y} } & \quad {c\phi _{y} s\phi _{x} } &\quad {c\phi _{y} c\phi _{x} } \\ \end{array} } \right],$$

where \(sX=\text{sin}X\), \(cX=\text{cos}X\), \(\phi _x\), \(\phi _y\), and \(\phi _z\) are the pitch, roll, and yaw angle of the moving platform, respectively. With position analysis in Figure 3, the vector loop equation of each linkage is acquired.

The dynamic model involves mathematical expression between the motion parameters of the moving platform, which includes configuration, velocity, acceleration, and the actuating force of each cylinder. Because of the complicated parallel mechanism with 6-DOFs, the dynamic model of Stewart presents a multi-degree-of-freedom, multi-variable, and high-nonlinear system. There are several approaches allowing multi-rigid systems, such as Stewart mechanism, to create dynamic models containing Newton-Euler, Lagrange, and Kane equations. This work adopts Newton-Euler equation to build the dynamic analysis and rapidly solves its solution in high-dimensional condition.

With aim at commanding the wheel-leg, the impression generated from rotational inertia of actuating cylinder emerges small compared to the mass of the robot body and the wheel group. Therefore, the inertia moment of electrical cylinder can be neglected when rotational and sliding friction of cardan joints and cylinders are ignored. The electrical cylinders are simplified as massless, which only afford tension and gravity along rod directions. According to force analysis from Newton’s second law, the motion equation related to center of mass of moving platform in base frame \(\mathcal {A}\) can be denoted as follows:

$$\begin{aligned} m_p{}^{\mathcal {A}}{{\varvec{g}}}+\sum ^6_{i=1}{}^{\mathcal {A}}{{\varvec{f}}}_i=m_p{}^{\mathcal {A}}\dot{{{\varvec{v}}}}_p, \end{aligned}$$

where \(m_p\) is the mass of moving platform, \({{\varvec{g}}}\) is the gravity acceleration, \({}^{\mathcal {A}}{{\varvec{f}}}_i\) represents the driving force vector of electrical cylinder i, and \({}^{\mathcal {A}}\dot{{{\varvec{v}}}}_p\) indicates the acceleration of moving platform in base frame \(\mathcal {A}\).

Let \({}^{\mathcal {B}}{{\varvec{r}}}_i\) be the position vector of force action point in the moving frame \(\mathcal {B}\). On the basis of the applied moment on point \({}^\mathcal {B}{{\varvec{r}}}_i\) from actuating linkage i and generating rotational angular velocity \({}^\mathcal {B}{\varvec{\omega }}_p\), we compute the Euler rotation equation of moving platform in the moving frame \(\mathcal {B}\).

$$\begin{aligned} {{\varvec{I}}}_p{}^{\mathcal {B}}\dot{{\varvec{\omega }}}_p+{}^{\mathcal {B}}{\varvec{\omega }}_p\times {{\varvec{I}}}_p{}^{\mathcal {B}}{\varvec{\omega }}_p=\sum _{i=1}^6{}^\mathcal {B}{{\varvec{r}}}_i\times {}^{\mathcal {B}}{{\varvec{f}}}_i. \end{aligned}$$

The matrix formulation of rotational inertia tensor for moving platform in the moving frame \(\mathcal {B}\) can be calculated through

$$\begin{aligned} {{\varvec{I}}}_p=\left[ \begin{matrix} I_{xx}&{}I_{xy}&{}I_{xz}\\ I_{xy}&{}I_{yy}&{}I_{yz}\\ I_{xz}&{}I_{yz}&{}I_{zz} \end{matrix} \right] , \end{aligned}$$

where inertia product along \(x^{\mathcal {B}}\), \(y^{\mathcal {B}}\), and \(z^{\mathcal {B}}\) axis in moving frame \(\mathcal {B}\) can be expressed as \(I_{xx}=\iiint _V(y^2+z^2)\rho \text{d}V\), \(I_{yy}=\iiint _V(x^2+z^2)\rho \text{d}V\), and \(I_{zz}=\iiint _V(y^2+x^2)\rho \text{d}V\) respectively, and inertia moment \(I_{xy}=\iiint _Vxy\rho \text{d}V\), \(I_{xz}=\iiint _Vxz\rho \text{d}V\), \(I_{yz}=\iiint _Vyz\rho \text{d}V\).

Execute coordinate conversion rotation matrix in Eq. (1) and get \({}^{\mathcal {B}}{{\varvec{R}}}_{\mathcal {A}}={{}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}}^{\text{T}}\),

$$\begin{aligned} {\left\{ \begin{array}{ll} {}^{\mathcal {B}}{\varvec{\omega }}_p={}^{\mathcal {B}}{{\varvec{R}}}_{\mathcal {A}}{}^{\mathcal {A}}{\varvec{\omega }}_p,\\ {}^{\mathcal {B}}{{\varvec{r}}}_i={}^{\mathcal {B}}{{\varvec{R}}}_{\mathcal {A}}{}^{\mathcal {A}}{{\varvec{r}}}_i,\\ {}^{\mathcal {B}}{{\varvec{f}}}_i={}^{\mathcal {B}}{{\varvec{R}}}_{\mathcal {A}}{}^{\mathcal {A}}{{\varvec{f}}}_i. \end{array}\right. } \end{aligned}$$

Transform the Euler equation into base frame \(\mathcal {A}\), thus:

$$\begin{aligned} & {{\varvec{I}}}_p{}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}{}^{\mathcal {A}}\dot{{\varvec{\omega }}}_p+({}^{\mathcal {A}} {{\varvec{R}}}_{\mathcal {B}}{}^{\mathcal {A}}{\varvec{\omega }}_p)\times ({{\varvec{I}}}_p{}^{\mathcal {A}} {{\varvec{R}}}_{\mathcal {B}}{}^{\mathcal {A}}{\varvec{\omega }}_p)\\&\quad =\sum ^6_{i=1}({}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}{}^{\mathcal {A}}{{\varvec{b}}}_i)\times ({}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}{}^{\mathcal {A}}{{\varvec{f}}}_i). \end{aligned}$$

The orthogonal matrix \({}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}\) suffices \({}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}{{}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}}^ {\text{T}}={{\varvec{E}}}_I\), where \({{\varvec{E}}}_I\) is unit matrix,

$$\begin{aligned} {}^{\mathcal {B}}\widetilde{{\varvec{\omega }}}_p={}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}{}^{\mathcal {A}}\widetilde{{\varvec{\omega }}}_p{{}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}}^{\text{T}}. \end{aligned}$$

Substitute corresponding antisymmetric matrix \({}^{\mathcal {A}}{\varvec{\omega }}_p\times ={}^{\mathcal {A}}\widetilde{{\varvec{\omega }}}_p=\left[ \begin{matrix} 0&{}-{}^{\mathcal {A}}\omega _{p,z}&{}{}^{\mathcal {A}}\omega _{p,y}\\ {}^{\mathcal {A}}\omega _{p,z}&{}0&{}-{}^{\mathcal {A}}\omega _{p,x}\\ -{}^{\mathcal {A}}\omega _{p,y}&{}{}^{\mathcal {A}}\omega _{p,x}&{}0 \end{matrix}\right]\) and \({}^{\mathcal {A}}{{\varvec{b}}}_i\times ={}^{\mathcal {A}}\widetilde{{{\varvec{b}}}}_i=\left[ \begin{matrix} 0&{}-{}^{\mathcal {A}}b_{i,z}&{}{}^{\mathcal {A}}b_{i,y}\\ {}^{\mathcal {A}}b_{i,z}&{}0&{}-{}^{\mathcal {A}}b_{i,x}\\ -{}^{\mathcal {A}}b_{i,y}&{}{}^{\mathcal {A}}b_{i,x}&{}0 \end{matrix}\right]\) into Eq. (6), then,

$$\begin{aligned} & {{\varvec{I}}}_p{{}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}}^ {\text{T}}{}^{\mathcal {A}}\dot{{\varvec{\omega }}}_p+ {{}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}}^{\text{T}}{}^{\mathcal {A}} \widetilde{{\varvec{\omega }}}_p{}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}{{\varvec{I}}}_p{{}^{\mathcal {A}} {{\varvec{R}}}_{\mathcal {B}}}^{\text{T}}{}^{\mathcal {A}}{\varvec{\omega }}_p\\&\quad = \sum _{i=1}^6{{}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}}^{\text{T}}{}^{\mathcal {A}} \widetilde{{{\varvec{b}}}}_i{}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}{{}^{\mathcal {A}} {{\varvec{R}}}_{\mathcal {B}}}^{\text{T}}{}^{\mathcal {A}}{{\varvec{f}}}_i. \end{aligned}$$

Multiply both sides with \({}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}\), and signify driving force \({}^{\mathcal {A}}{{\varvec{f}}}_i={}^{\mathcal {A}}{{\varvec{s}}}_if_i\), where the scalar quantity \(f_i\) represents the value of driving forces.

$$\begin{aligned} & {}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}{{\varvec{I}}}_p{{}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}}^{\text{T}}{}^{\mathcal {A}}\dot{{\varvec{\omega }}}_p+ {}^{\mathcal {A}}\widetilde{{\varvec{\omega }}}_p{}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}{{\varvec{I}}}_p{{}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}}^ {\text{T}}{}^{\mathcal {A}}{\varvec{\omega }}_p\\&\quad =\sum _{i=1}^6{}^{\mathcal {A}}\widetilde{{{\varvec{b}}}}_i{}^{\mathcal {A}}{{\varvec{s}}}_if_i. \end{aligned}$$

Set \({{\varvec{M}}}_p=\left[ \begin{matrix} m_p{{\varvec{E}}}_{3\times 3}&{}{{\varvec{0}}}_{3\times 3}\\ {{\varvec{0}}}_{3\times 3}&{}{}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}{{\varvec{I}}}_p{{}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}}^{\text{T}} \end{matrix} \right]\), \({{\varvec{C}}}_p=\left[ \begin{matrix} {{\varvec{0}}}_{3\times 3}&{}{{\varvec{0}}}_{3\times 3}\\ {{\varvec{0}}}_{3\times 3}&{}{}^{\mathcal {A}}\widetilde{{\varvec{\omega }}}_p{}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}{{\varvec{I}}}_p{{}^{\mathcal {A}}{{\varvec{R}}}_{\mathcal {B}}}^{\text{T}} \end{matrix} \right]\), Jacobian matrix \({{\varvec{J}}}_p=\left[ \begin{matrix} {}^{\mathcal {A}}{{\varvec{s}}}_1&{}\cdots &{}{}^{\mathcal {A}}{{\varvec{s}}}_6\\ {}^{\mathcal {A}}\widetilde{{{\varvec{b}}}}_1{}^{\mathcal {A}}{{\varvec{s}}}_1&{}\cdots &{}{}^{\mathcal {A}}\widetilde{{{\varvec{b}}}}_6{}^{\mathcal {A}}{{\varvec{s}}}_6 \end{matrix} \right]\) and \({{\varvec{G}}}_p=\left[ \begin{matrix} {{\varvec{0}}}_{3\times 3}&{}{{\varvec{E}}}_{3\times 3}\\ {{\varvec{0}}}_{3\times 3}&{}{{\varvec{0}}}_{3\times 3} \end{matrix}\right]\). Then, the combined form of Newton motion and Euler rotation equation can be printed as follows:

$$\begin{aligned} & {{\varvec{M}}}_p^{-1}{{\varvec{J}}}_p\left( \left[ \begin{matrix} {}^{\mathcal {A}}{{\varvec{f}}}_1\\ \vdots \\ {}^{\mathcal {A}}{{\varvec{f}}}_6 \end{matrix} \right] +{{\varvec{J}}}_p^{-1}{{\varvec{G}}}_p\left[ \begin{matrix} {{\varvec{0}}}_{3\times 1}\ m_p\ {}^{\mathcal {A}}{{\varvec{g}}} \end{matrix} \right] \right) \\&\quad -{{\varvec{M}}}_p^{-1}{{\varvec{C}}}_p\left[ \begin{matrix} {}^{\mathcal {A}}{{\varvec{v}}}_p\\ {}^{\mathcal {A}}{\varvec{\omega }}_p \end{matrix} \right] =\left[ \begin{matrix} {}^{\mathcal {A}}\dot{{{\varvec{v}}}}_p\\ {}^{\mathcal {A}}\dot{{\varvec{\omega }}}_p \end{matrix} \right] . \end{aligned}$$

3 Control Framework

Although the control input on Stewart is force, we still need configuration and force data of foot measured and calculated through sensors, forward kinematics, and Jacobian matrix as feedback. The purpose of MPC within the inner loop is to track the desired position and attitude. The outermost control loop exploits adaptive impedance control to track the desired support force, thereby maintaining whole body stability during rolling process.

3.1 MPC Loop

Accounting for features of MPC that are predictive model, receding horizon optimization, feedback correction, and explicit processing constraints, we design a model predictive controller based on torque input. Furthermore, we forecast future output of the system and repeatedly optimize a certain index online based on historical performance and future input. To prevent model mismatch or environmental disturbance from generating control deviation with ideal state, output result is detected at new sampling instant and correct predictive result. The pipeline forces the motion velocity as target control vector \({{\varvec{y}}}_r(k)\) and it evaluates the state vector of wheel-leg \({{\varvec{x}}}(k)\), getting state vector \({{\varvec{x}}}(k)\) of discrete model controller. We solve the output vector \({{\varvec{y}}}(k)\) in predictive horizon based on predictive model. With a minimizing objective function, the last procedure calculates the optimal control vector \({{\varvec{u}}}(k)\), thereby achieving the tracking from output vector \({{\varvec{y}}}(k)\) to objective vector \({{\varvec{y}}}_r(k)\) under the effect of control vector.

To prepare for the next step that builds a predictive model for Stewart, we transform Eq. (10) as standard state-space formulation, including state and output equations. Set the state vector \({{\varvec{x}}}=\left[ \begin{matrix} {}^{\mathcal {A}}{{\varvec{p}}}\\ {}^{\mathcal {A}}{\varvec{\epsilon }}_p\\ {}^{\mathcal {A}}{{\varvec{v}}}_p\\ {}^{\mathcal {A}}{\varvec{\omega }}_p \end{matrix}\right]\), and control input vector \({{\varvec{u}}}=\left[ \begin{matrix}{}^{\mathcal {A}}{{\varvec{f}}}_1\\ \vdots \\ {}^{\mathcal {A}}{{\varvec{f}}}_6\end{matrix}\right] +{{\varvec{J}}}_p^{-1}{{\varvec{G}}}_p\left[ \begin{matrix} {{\varvec{0}}}_{3\times 1}\\ m_p{}^{\mathcal {A}}{{\varvec{g}}} \end{matrix}\right]\), so the state equation can be written as:

$$\begin{aligned} \dot{{{\varvec{x}}}}={\varvec{A}}{{\varvec{x}}}+{\varvec{B}}{{\varvec{u}}}, \end{aligned}$$

where \({\varvec{A}}=\left[ \begin{matrix}{{\varvec{0}}}_{6\times 6}&{}{{\varvec{U}}}_p\\ {{\varvec{0}}}_{6\times 6}&{}-{{\varvec{M}}}^{-1}_p{{\varvec{C}}}_p \end{matrix}\right]\), and \({\varvec{B}}=\left[ \begin{matrix} {{\varvec{0}}}_{6\times 6}\\ {{\varvec{M}}}_p^{-1}{{\varvec{J}}}_p \end{matrix}\right]\). The output equation can be expressed as:

$$\begin{aligned} {{\varvec{y}}}={\varvec{C}}{{\varvec{x}}}, \end{aligned}$$

where the output vector \({{\varvec{y}}}=\left[ \begin{matrix} {}^{\mathcal {A}}{{\varvec{p}}}\\ {}^{\mathcal {A}}{\varvec{\epsilon }}_p \end{matrix}\right]\) contains the position and attitude vector of moving platform in base frame \(\mathcal {A}\) and \({\textbf {C}}=\left[ {{\varvec{E}}}_{6\times 6}\ {{\varvec{0}}}_{6\times 6}\right]\).

An efficient method to accomplish optimized control is by selecting control increment as state of the objective function, like the following formulation, which penalizes the deviation between predictive state and reference input.

$$\begin{aligned} & \min \ \sum \limits ^{N_p}_{i=0}\left\| {{\varvec{y}}}(k+i|t)-{{\varvec{y}}}_r(k+i|t)\right\| ^2_{\varvec{Q}} +\sum \limits ^{N_c}_{i=0}\left\| {{\varvec{u}}}(k+i|t) -{{\varvec{u}}}(k+i-1|t)\right\| ^2_{\varvec{R}}+\rho \sigma _k^2,\\&\quad {\text{s.t.}}\ {{\varvec{y}}}_{\text{min}}\le {{\varvec{y}}}(k+i|t)\le {{\varvec{y}}}_{\text{max}},\ 0\le i\le N_p-1,\\&\quad \ \ {{\varvec{u}}}_{\text{min}}\le {{\varvec{u}}}(k+i|t)\le {{\varvec{u}}}_{\text{max}},\ 0\le i\le N_c-1,\\&\quad \ \ \Delta {{\varvec{u}}}_{\text{min}}\le {{\varvec{u}}}(k+i|t)-{{\varvec{u}}}(k+i-1|t)\le \Delta {{\varvec{u}}}_{\text{max}},\\&\quad \ \ 0\le i\le N_c-1,\\&\quad \ \ \sigma _k \ge 0 . \end{aligned}$$

where \({{\varvec{y}}}_r(k+i|t)\) is the desired system output in predictive horizon from current instant k. That is, it is the desired trajectory of moving platform in predictive horizon \(N_p\). Note that the control horizon \(N_c\) and predictive horizon \(N_p\) satisfies \(N_c<N_p\). \({\varvec{Q}}\) and \({\varvec{R}}\) are definite weight matrices. The decision variables are trajectory properties for all the 6-DOFs. The mentioned inequality constraints softly restrain the system output \({{\varvec{y}}}(k+i|t)\), control input \({{\varvec{u}}}(k+i|t)\), and variation of control variable \({{\varvec{u}}}(k+i|t)-{{\varvec{u}}}(k+i-1|t)\). To guarantee the output trajectory accuracy and input smoothness, the 2-norm state increment is minimized. The slack factor \(\sigma _k\ge 0\) can ensure that the optimization problem remains infeasible, even if the defined constraint gets violated.

The optimization problem in Eq. (13) can be converted into a standard quadratic problem. During each sampling duration, the computation repeats and only the first value u(k|t) of the optimal control sequence \({{\varvec{u}}}(t)\) is employed as the system input until the next sampling time \(k+1\). It is turned that utilizing the state \({{\varvec{x}}}(k+1|t)\) to update the initial condition of Eq. (13) and resolve it.

3.2 Adaptive Impedance Control Loop

The core of impedance control is to regard the robot as a mechanism rigid, environment as admittance, and process part as impedance. The relationship between touching force and acting force, where the quadratic-linear equation describes mass-spring-damping system of wheel-leg in Cartesian frame, is defined as:

$$\begin{aligned} {{\varvec{M}}}_f(\ddot{{{\varvec{X}}}}_r-\ddot{{{{\varvec{X}}}}})+{{\varvec{B}}}_f(\dot{{{\varvec{X}}}}_r-\dot{{{\varvec{X}}}})+{{\varvec{K}}}_f({{\varvec{X}}}_r-{{\varvec{X}}})=\Delta {{\varvec{F}}}. \end{aligned}$$

where \({{\varvec{X}}}_f\), \({{\varvec{B}}}_f\), and \({{\varvec{K}}}_f\) are the desired impedance inertia, impedance, and stiffness matrix, respectively. \(\ddot{{{\varvec{X}}}}_r\) and \(\dot{{{\varvec{X}}}}\) are desired and actual positions along the Z-axis, respectively. \({{\varvec{F}}}\) is the supporting force from contact ground. Set the error of foot and desired supporting forces as state variables for target impedance model, which tracks the desired supporting force. Thus the impedance model can be written as the following:

$$\begin{aligned} {{\varvec{M}}}_f(\ddot{{{\varvec{X}}}}_r-\ddot{{{\varvec{X}}}})+{{\varvec{B}}}_f(\dot{{{\varvec{X}}}}_r-\dot{{{\varvec{X}}}})+{{\varvec{K}}}_f({{\varvec{X}}}_r-{{\varvec{X}}})={{\varvec{F}}}-{{\varvec{F}}}_r, \end{aligned}$$

where \({{\varvec{F}}}_r\) represents the desired supporting force offered by the wheel-leg. The wheel-leg can be regarded as a spring to construct an equivalent impedance model to visually analyze the relationship between wheel-leg and ground. \(x_{\text{env}}\), \(m_{\text{env}}\), \(b_{\text{env}}\), and \(k_{\text{env}}\) are the position, inertia, damping, and rigid parameters, respectively, whose relationship is shown in Figure 2. Then, we simplify them into one-dimension acting force along the Z-axis to analyze,

$$\begin{aligned} \Delta f&= f-f_r\\&=k_{\text{env}}(x_{\text{env}}-x_r)-f_r\\&=k_{\text{env}}x_{\text{env}}-k_{\text{env}}(x_r+h(s)\Delta f)- f_r ,\end{aligned}$$

where \(h(s)=\frac{1}{ms^2+bs+k}\), and

$$\begin{aligned} & \Delta f (ms^2+bs+k+k_{\text{env}})\\&\quad =(ms^2+bs+k)[k_{\text{env}}(x_{\text{env}}-x_r)-f_r], \end{aligned}$$

where the steady-state error of force tracking

$$\begin{aligned} \Delta f_{ss}=\frac{k}{k+k_{\text{env}}}[k_{\text{env}}(x_{\text{env}}-x_r)-f_r]. \end{aligned}$$

When the steady-state error of force-tracking approach zero, we enforce the desired trajectory \(x_r\) to satisfy the equation:

$$\begin{aligned} x_r=x_{\text{env}}-\frac{f_r}{k_{\text{env}}}. \end{aligned}$$

It is feasible to obtain the desired position trajectory according to desired tracking force when environment position \(x_{\text{env}}\) and stiffness \(k_{\text{env}}\) are known. Nevertheless, \(x_{\text{env}}\) and \(k_{\text{env}}\) are unknown in practical circumstance, which are difficult to conduct the parameter recognition and compensation. Owing to the existing force error, the steady-state error during force tracking is divergent.

Under unknown circumstances, the environmental stiffness is unknown and can be changed with the terrain topology and hardness. The initial environment position \({{\varvec{X}}}_{\text{env}}\) and the force \({{\varvec{F}}}_{\text{env}}\) replace desired position \({{\varvec{X}}}_r\) and supporting force \({{\varvec{F}}}_r\) respectively, in Eq. (15). Then, the impedance model is transformed as:

$$\begin{aligned} {{\varvec{M}}}_f(\ddot{{{\varvec{X}}}}_{\text{env}}-\ddot{{{\varvec{X}}}})+{{\varvec{B}}}_f(\dot{{{\varvec{X}}}}_{\text{env}}-\dot{{{\varvec{X}}}})+{{\varvec{K}}}_f({{\varvec{X}}}_{\text{env}}-{{\varvec{X}}})={{\varvec{F}}}-{{\varvec{F}}}_{\text{env}}, \end{aligned}$$

whose corresponding model in one-dimension becomes

$$\begin{aligned} \Delta f = f - f_{\text{env}} =m(\ddot{x}-\ddot{x}_{\text{env}} )+b(\dot{x}-\dot{ x}_{\text{env}})+k(x-x_{\text{env}}). \end{aligned}$$

When the desired force \(f_r=0\) and environment position \(x = x_{\text{env}}\) satisfy \(\Delta f_{ss}=0\), the corresponding contact force f equals 0 once the wheel-leg touches ground. Therefore, Eq. (21) satisfies arbitrary environment stiffness \(k_{\text{env}}\). If the desired force \(f_{\text{env}}\ne 0\) urges Stewart wheel-leg to generate supporting force \(x\ne x_{\text{env}}\) and act on the ground. When the system is stable, \(\Delta f_{ss}=0\). Then, the stiffness k is set as 0 for any \(k_{\text{env}}\), thus satisfying ideal steady state \(f=f_{\text{env}}\).

In conclusion, Eq. (21) turns into the following formulation when the stiffness \(k=0\),

$$\begin{aligned} \Delta f = f-f_{\text{env}} = m(\ddot{x}-\ddot{x}_{\text{env}} )+b(\dot{x}-\dot{x}_{\text{env}}). \end{aligned}$$

We substitute \(f=k_{\text{env}}(x_{\text{env}}-x)\) into Eq. (21), the contact impedance control law can be written as the following formulation:

$$\begin{aligned} m(\ddot{x}-\ddot{x}_{\text{env}} )+b(\dot{x}-\dot{x}_{\text{env}})+k_{\text{env}}(x- x_{\text{env}})=f_{\text{env}}. \end{aligned}$$

It can be deduced that Eq. (21) is established to select appropriate inertia parameter \(m_{\text{env}}\) and impedance parameter \(b_{\text{env}}\) to sustain the system steadily according to the approximate value of \(k_{\text{env}}\). That is \(\Delta f_{ss}=0\), even though environmental stiffness is unknown.

Therefore, desired force tracking can be realized by setting \(k=0\) when the environmental stiffness is unknown or dynamically changing. While the robot is moving on plat surface, \(\ddot{x}_{\text{env}}=\dot{x}_{\text{env}}=0\) and \(\Delta f_{ss}=0\). At this time, the system inevitably remains stable.

When the robot is rolling on the slope or complicated unknown terrain, \(x_{\text{env}}\) is time-varying, \(\dot{x}_{\text{env}}\ne 0\) or \(\dot{x}_{\text{env}}\ne 0\), \(\ddot{x}_{\text{env}}\ne 0\). Thus, the environment needs to be evaluated. When the evaluation of environment position \(\hat{x}_{\text{env}}=x_{\text{env}}-\delta x_{\text{env}}\), the position error can be expressed as \(\hat{e}=e+\delta x_{\text{env}}\). Applying the \(\hat{e}\) instead of \(e=x- x_{\text{env}}\) to Eq. (23), we have:

$$\begin{aligned} f_{\text{env}}-f = m\ddot{\hat{e}}+b\dot{\hat{e}} =m(\ddot{e}+\delta \ddot{x})+b(\dot{e}+\delta \dot{x}), \end{aligned}$$

where f, \(\ddot{\hat{e}}\) and \(\dot{\hat{e}}\) are time-varying. There is the force-tracking error in constant impedance controller. Let \(\Delta f=0\) in adaptive variable impedance control approach. We import adaptive variable impedance parameters to adjust the damping parameter in impedance model to compensate for time-varying error. The methodology can be demonstrated as follows:

$$\begin{aligned} f(t)-f_{\text{env}}(t)=m\ddot{\hat{e}}(t)+(b+\Delta b(t))\dot{\hat{e}}(t), \end{aligned}$$

where \(\Delta b(t)\) can be adjusted according to force error online, and it can be defined as:

$$\begin{aligned} \left\{ \begin{array}{l} \Delta b(t)=\frac{b}{\dot{\hat{e}}(t)}w(t),\\ w(t)=w(t-\lambda )+\eta \frac{f_{\text{env}}(t-\lambda )-f(t-\lambda )}{b},\eta > 0, \end{array} \right. \end{aligned}$$

where \(\eta\) is the adaptive gain, and \(\lambda\) is the duration. The discrete desired acceleration, velocity, and position data can be listed in sequence through the following iteration and calculation:

$$\begin{aligned} \left\{ \begin{array}{l} \ddot{\hat{e}}(n)=\frac{\Delta f(n)-b\dot{\hat{e}}(n-1)}{m}),\\ \hat{\dot{e}}(n)=\dot{\hat{e}}(n-1)+\ddot{\hat{e}}(n)T_s,\\ \hat{e}(n)=\hat{e}(n-1)+\dot{\hat{e}}(n)T_s, \end{array} \right. \end{aligned}$$

where \(T_s\) is the sampling cycle.

In the following, the stability and convergence for adaptive variable impedance controller can be proved. Substituting Eq. (26) into Eq. (25), we have:

$$\begin{aligned} f(t)-f_{\text{env}}(t)&=m\left( \frac{-\ddot{f}(t)}{k_{\text{env}}}+\delta \ddot{x}(t)\right) +b\left( \frac{-\dot{f}(t)}{ k_{\text{env}}}+\delta \dot{x}(t)\right) \\&\quad +b\left[ w(t-\lambda )+\eta \frac{ f_{\text{env}}(t-\lambda )-f(t-\lambda )}{b}\right] . \end{aligned}$$

Since \(f=-k_{\text{env}}e\), we have:

$$\begin{aligned} \left\{ \begin{array}{l} \dot{e}=\frac{\dot{f}}{k_{\text{env}}},\\ \ddot{e}=-\frac{\ddot{f}}{k_{\text{env}}}. \end{array} \right. \end{aligned}$$

Substituting \(\hat{e}=e+\delta x_z\) and Eq. (29) into Eq. (28), we have:

$$\begin{aligned} f(t)- f_{\text{env}}(t)&=m\left( \frac{-\ddot{f}(t)}{k_{\text{env}}}+\delta \ddot{ x}_z(t)\right) +b\left( \frac{-\dot{f}(t)}{k_{\text{env}}}+\delta \dot{ x}_z(t)\right) \\&\quad +b\left[ w(t-\lambda )+\eta \frac{f_{\text{env}}(t-\lambda )-f(t-\lambda )}{b}\right] . \end{aligned}$$

Substituting \(\bar{f}(t)=k_{\text{env}}\delta x_z(t)\) into Eq. (32) and add \(\frac{m\ddot{f}(t)+b\dot{f}_{\text{env}}(t)}{k_{\text{env}}}\) on two sides of Eq. (30), we have:

$$\begin{aligned} & m\ddot{f}(t)-m\ddot{f}(t)+b\dot{f}_{\text{env}}(t)-b\dot{f}(t)+bk_{\text{env}}w(t-\lambda )\\&\qquad +\eta k_{\text{env}}[ f_{\text{env}}(t-\lambda )-f(t-\lambda )]+k_{\text{env}}[f_{\text{env}}(t)-f(t)]\\&\quad =m\ddot{ f}_{\text{env}}(t)-m\ddot{\bar{f}}(t)+b\dot{f}_{\text{env}}(t)-b\dot{\bar{f}}(t). \end{aligned}$$

Let \(\phi (t)=f_{\text{env}}(t)-f(t)\), and let \(\nu (t)=f_{\text{env}}(t)-\bar{f}(t)\). Then, the mentioned equation can be written as:

$$\begin{aligned} m\ddot{\phi }+b\dot{\phi }+b k_{\text{env}}w(t-\lambda )+\eta k_{\text{env}}\phi (t-\lambda )+ k_{\text{env}}\phi =m\ddot{\nu }+b\dot{\nu }. \end{aligned}$$

The \(i{\text{th}}\) element in w sequence will be given as

$$\begin{aligned} bk_{\text{env}}w(t-\lambda )&=bk_{\text{env}}w(t-(i-1)\lambda )\\& \quad+\eta k_{\text{env}}\phi (t-(i-2))+\cdots +\eta k_{\text{env}}\phi (t-2\lambda ). \end{aligned}$$

Assuming the initial w is 0, i.e., \(w(t-(i-1)\lambda )=0\). Combining Eq. (32) and Eq. (33), it is deduced that

$$\begin{aligned} & m\ddot{\phi }+b\dot{\phi }+k_{\text{env}}\phi +\eta k_{\text{env}}(\phi (t-(i-1)\lambda )+\cdots+ \\&\quad \phi (t-\lambda ))=m\ddot{\nu }+b\dot{\nu }, \end{aligned}$$

whose Laplace transformation can be written as:

$$\begin{aligned} \frac{\phi (s)}{\nu (s)} =\frac{ms^2+bs}{(ms^2+bs+k_{\text{env}}+k_{\text{env}}\eta e^{-(i-1)\lambda s}+\cdots +e^{-\lambda s})}. \end{aligned}$$

The characteristic equation of the linear system Eq. (35) is

$$ms^2+bs+k_{\text{env}}+k_{\text{env}}\eta (e^{-(i-1)\lambda s}+\cdots +e^{-\lambda s})=0.$$

When i approaches infinity, we have:

$$\begin{aligned} \sum ^{\infty }_{i=1}e^{-\lambda is}=\frac{e^{\lambda s}}{1-e^{\lambda s}}. \end{aligned}$$

When small sampling period \(\lambda\) is sufficiently small, the Taylor expansion substitutes \(e^{\lambda s}\approx 1-\lambda s\) into Eq. (36), thus leading to

$$\begin{aligned} \lambda ms^3+b\lambda s^2+k_{\text{env}}\lambda (1-\eta )s+k_{\text{env}}\eta =0. \end{aligned}$$

According to Eq. (38), the Routh-Hurwitz array is constructed to judge system stability.

$${\begin{array}{*{20}ll} {s^3} & \quad \lambda m & \quad k_{\text{env}}\lambda (1-\eta ) \\ s^2 & \quad b\lambda & \quad k_{\text{env}}\eta \\s^1 & \quad \frac{bk_{\text{env}}\lambda ^2(1-\eta )-\lambda mk_{\text{env}}\eta }{b \lambda } & \quad 0\\s^0 & \quad k_{\text{env}}\eta & \quad 0 \end{array}}$$

The mentioned Routh-Hurwitz stability criterion can conclude:

$$\begin{aligned} \left\{ \begin{array}{l} k_{\text{env}}\lambda (1-\eta )>0,\\ \frac{bk_{\text{env}}\lambda ^2(1-\eta )-\lambda mk_{\text{env}}\eta }{b\lambda }>0,\\ k_{\text{env}}\eta >0. \end{array} \right. \end{aligned}$$

On accounting of m, b, \(\lambda >0\), it is inferred that

$$\begin{aligned} 0<\eta <\frac{b\lambda }{b\lambda +m}. \end{aligned}$$

As for convergence, the process is to approximately calculate the stable-state error through Eq. (35):

$$\begin{aligned} e_{ss}=\lim _{t\rightarrow \infty }e(t)=\lim _{s\rightarrow 0}sE(s)=\lim _{s\rightarrow 0}s(\phi (s)-\nu (s))=-1. \end{aligned}$$

To certify the stability of the system, the step signal \(\nu (s)=\frac{1}{s}\) is imported, thus,

$$\begin{aligned} \lim _{t\rightarrow \infty }\phi (t)=0. \end{aligned}$$

When \(t\rightarrow \infty\) and \(f\rightarrow f_{\text{env}}\), the wheel-leg will track the desired force. Therefore, the stability and convergence are proved.

4 Simulation in MATLAB/ADAMS

To obtain better performance of the proposed controller, a co-simulation system is constructed by combining the MATLAB/SIMULINK and ADAMS working on a single Stewart mechanism, as demonstrated in Figure 3. The model parameter setting is listed in Table 1. The design of dangling moving plat can exclude the influence force from ground to a robot foot that clearly illustrates the position tracking performance of the controller. Similarly, the force and displacement sensors internally embedded in each strut measure its load-carring force and expansion amount, thereby serving as system feedback and solving the force burden and configuration variation of moving base through the Jacobian matrix. The step and sinusoid are taken as trajectory input to adjust the parameter optimization of the controller, in which the sample duration \(T_s\) is 0.0005 s.

Table 1 Parameter setting of Stewart kinematic and dynamic model in ADAMS

Progressively, the traditional control variate technique is adopted to mutually schedule parameters containing predictive horizon \(N_p\) and control horizon \(N_c\). Given step signal amplitude 0.15 (it can be set as displacement or angle along X-, Y-, or Z-axis, it is tested as X-axis displacement in this case) and input constraint within ±700 N, evaluate the tracking performance of model predictive control (MPC) for step signal under different \(N_p\) and \(N_c\).

Figure 4
figure 4

Step response for different \(N_p\) when \(N_c\)=2

Figure 5
figure 5

Step response for different \(N_c\) when \(N_p\)=5

Comparing Figure 4 with Figure 5, we observe that the variation of predictive horizon \(N_p\) has a smaller impression on the system step response. Nevertheless, the control horizon \(N_c\) which differs from sample duration and stands for frequency how long import the optimal control sequence into the system, has a significant impact on the step response. Table 2 quantizes the step response for different \(N_c\).

Table 2 Control traits of step impulse for different \(N_c\)

The updating frequency of optimal control sequence decreases with an increase in \(N_c\), thereby reducing rising time and steady-state relative error. Additionally, in view of the large calculation amount and weakening real-time computing capacity originated from decreasing \(N_c\), control horizon of the proposed controller is set as \(N_c=2\).

For the parameter of gain/integration (G/s) module depicted in Figure 1, the gain and integral factor also need to be turned. We define a sinusoidal signal with a frequency of 2 Hz and an amplitude of 0.15 rad as pitch angle reference. The corresponding response of the control system does not produce shock while increasing the gain value P, as shown in Figure 6. With the fixed predictive horizon \(N_p=5\) and control horizon \(N_c=2\), the amplitude error of sinusoidal response is 0.0004 rad with 0.0005 s delaying time when we set the gain of G/s module as \(P=0.12\), thus satisfying tracking precision and requirement of dynamic property.

Figure 6
figure 6

Sinusoidal response for different gain P in G/s module

5 Experiments on Wheel-Legged Robot

After the parameter adjustment step, our experiment with the optimal control force input exposes an interesting challenge with the effect from environment. Based on the practical requirements of the BIT-NAZA robot, both a Bezier trajectory for the corresponding swing leg in legged locomotion and vibration isolation in wheeled motion are examined on physical prototype. The displacement and force are recorded from corresponding sensors embedded in electrical cylinders to calculate the corporate displacement and force for wheel-leg, whose update time is the same as practical control duration 3 ms.

5.1 Trajectory Tracking

The internally-embedded motor encoder in each strut can read position, velocity, and related motion information. Both displacement and attitude tracking are tested with a comparison of PI controller. For a quadruped locomotion, the robot should traverse obstacle in the swing phase, where the tracking accuracy of applied Bezier trajectory is of great concern. The operating time of the foot trajectory shown in Figure 7a from point A to C is 3 s, in which the arch height (distance between A and C) is 320 mm and arch width (distance between B and line AC) reaches 80 mm. The suggested PI controller has dimension \(P_{PI} = 25\) and \(I = 0.1\), the control horizon \(N_c\) for both controllers are 2 ms. According to the tracking result displayed in Figure 7b, the largest position error of PI and MPC are \(-2.7\) mm and \(-0.3\) mm, respectively.

Figure 7
figure 7

Swing foot trajectory tracking experiment: (a) Bezier trajectory tracking, (b) Tracking result compared with PI controller

In the following attitude tracking experiment, we selected sinusoidal signal with amplitude 0.0873 rad and three types of frequencies of 1, 2, 4 Hz as reference attitude input. Their comparison results are demonstrated in Figure 8. Besides, the matching time-delay and tracking error are digitized in Table 3.

Figure 8
figure 8

Tracking result for the sinusoidal signal attitude with three frequencies

Table 3 Tracking traits for sinusoidal attitude with different \(N_c\)

Obviously, the improved performance of MPC based on Stewart dynamic model allows the foot to more precisely track the desired trajectory than PI controller. Therefore, the optimal predictive model can be created in a very short time-span, and the controller may fine-tune the control input to any desired value. The MPC controller obtained better performance compared with the PI controller following the increasing signal frequency.

5.2 Vibration Isolation

As a demonstration, passing deceleration strips are used to validate the availability of controller, as shown in Figure 9. Here, the following deceleration strips are implemented: One is 8 cm high and 80 cm wide, while the other is 11 cm high and 68 cm wide. The robot is instructed to roll over two deceleration strips with two legs by our methodology. To enlarge motor torque to compensate friction force and drive heavy robot, we installed a reducer with reduction ratio of 1:40 between motor and wheel, where the wheel diameter is 25.4 cm. The suggested control method governed the left feet (i = 1, 2) and it set desired wheel speed about 0.5 m/s. The IMU is equipped on the robot body to monitor attitude variation along three axes. Note that we eliminated the adaptive module and employed a kind of constant impedance controller (Eqs. (14)–(19)) within the control framework working on wheel-leg as a comparison [30].

Figure 9
figure 9

Vibration isolation experiment working on BIT-NAZA robot

The target vertical force was set as a measured value from force sensors when the robot prepared to start rolling. The two target tracking forces are 605 N and 640 N for left-hind (LH) foot and left-front (LF) foot, respectively. The difference in the magnitude of the forces is caused through mechanism asymmetry and tolerance. The pitch and roll of robot body in two cases are exhibited in Figure 10. Their undertaken force along Z-axis for four wheel-legs is also depicted in Figure 11, where the gray-shadow area describes when the robot is rolling on the top of speed bumps. For instance, considering the constant impedance case, the robot started to climb up and LF foot displacement along Z-axis suddenly diminished at 3.6 s because the robot body leaned forward with a positive pitch variation. The constant stiffness controller was inappropriate for LF foot to go downhill, thereby resulting in no recovery pitch angle of robot body after about 7.1 s. The LH foot went over the speed bump and the support force increased since robot pitch increased at about 12.1 s. The maximum roll angle was recorded while the robot was rolling on top of obstacles. The variation amplitude of LH and LF feet is relatively small, as they are equipped with force-tracking controller during two runs, even though the two wheel-legs rolls directly on rugged obstacles. The high-slope-like obstacle causes rolling with constant impedance controller not to achieve an outstanding posture-balancing performance. The force produced large oscillation and almost cannot follow the target force along Z direction. A similar situation in adaptive impedance controller also caused large force-tracking fluctuation, especially when the front wheel rolled downslope and the hind wheel rolled upslope, but the force returned to normal in a shorter time.

Figure 10
figure 10

Trunk attitude variation in two experiments: (a) Without adaptive impedance module, (b) With adaptive impedance module

Figure 11
figure 11

Force-tracking performance for four wheel-legs in two experiments: (a) Without adaptive impedance module, (b) With adaptive impedance module

During the process of adaptive impedance controller working on the same conditions, the executed force of two controlled wheel-legs had small fluctuations and fast restoration to the desired force. Apparently, they have the same variation tendency with that in a constant impedance case when different feet went up or down obstacles.

In the impedance controlling comparison, the robot passed the first and second strip with 8.5 s (from 3.6 to 12.1 s) and 9.65 s (from 14.6 to 24.25 s), respectively. The adaptive impedance controller spent 8.2 s (from 4.8 to 13 s) and 8.65 s (from 15.7 to 24.35 s) individually driving on two speed bumps. The time cost for constant impedance controller is higher than that of the adaptive impedance controller because the converse force generated from a speed bump along the horizontal direction prevents the robot from advancing. Moreover, the adaptive impedance quickly helps wheel-leg to adapt to the terrain variation, thus decreasing the working time of resistance force along the horizontal direction. The pitch angle changed within ±1.2\(^{\circ }\) and roll fluctuated between −0.65\(^{\circ }\) and 1.75\(^{\circ }\) in the adaptive impedance controller. However, the lowest pitch came to −3.9\(^{\circ }\) and roll angle varied between −2.8\(^{\circ }\) and 1.9\(^{\circ }\) when the adaptive module is removed. The Z-axis trajectories of two controlled wheel-leg in adaptive item are demonstrated in Figure 12. For the first and second trips, the extended amounts of LF foot were 4.2 and 6.5 cm, respectively, and the ones of LH foot were 5.1 and 7.2 cm, seperately. The compensation elongation along the Z-axis of wheel-leg equipped with adaptive impedance controller approximately approached the height of two speed trumps. These speed trumps availably assisted the robot to keep horizontal while rolling over obstacles.

Figure 12
figure 12

Elongation along Z-axis of single wheel-leg equipped with adaptive impedance module

6 Conclusions

We presented a novel control system for a Stewart parallel hybrid wheel-legged robot. The robot mainly contains two tracking loops. The objective function based on the dynamic model of Stewart mechanism, solved optimal control sequence and iteratively fresh state during the predictive horizon to complete inner-loop position control. Furthermore, the function showed how the parameter of our controller can be leveraged to significantly improve the control accuracy. This, improved accuracy allows users to make a tradeoff between decreasing calculation amount and enhancing precision. To better adapt to unknown terrain, adaptive impedance control in outer loop is implemented into this structure, thereby estimating environmental stiffness and combining with other impedance parameters of wheel-leg. We demonstrated the effectiveness of our controller by tracking Bezier trajectory for swinging foot within single inner-loop controller and vibration isolation during rolling motion using intact control framework, all of which were tested on a wheel-legged hybrid robot. We observed that speed bump passing time of adaptive impedance control is shorter than that of constant impedance control. Besides, the force-tracking fluctuation and postural variation became smaller. Adaptive impedance quickly adjusts foot position to adapt in terrain variation, thereby decreasing resistance force along the horizontal direction. The proposed controller can force wheel-leg to swing in legged locomotion and keep robot body horizontal with ground in wheeled motion.

The coupled displacement adjustment from impedance control when all wheel-legs are equipped with the proposed controller. This situation still leads to additional body vibration, even though only two wheel-legs receive command from the proposed controller. The further vibration isolation framework requires significant improvement to decrease coupling of four wheel-legs, where the auxiliary event trigger regulator based on postural variation is efficient. As for the application in future industry, the nominate algorithm can help wheel-legged robot to rolling on rough terrain. The operating field contains the resource exploration, disaster relief, and package transportation.

Availability of Data and Materials

The datasets used and/or analysed during the current study are available from the corresponding author on reasonable request.


  1. B A Cabezas, C Mastalli, H Dai, et al. Simultaneous contact, gait and motion planning for robust multi-legged locomotion via mixed-integer convex optimization. IEEE Robotics and Automation Letters, 2018, 3(3): 2531–2538.

    Google Scholar 

  2. F Guo, S Wang, J Wang et al. Kinematics-searched framework for quadruped traversal in a parallel robot. Industrial Robot: The International Journal of Robotics Research and Application, 2019, 47: 267–279.

    Article  Google Scholar 

  3. T Klamt, M Schwarz, Christian Lenz et al. Remote mobile manipulation with the centauro robot: Full-body telepresence and autonomous operator assistance. Journal of Field Robotics, 2020, 37(5): 889–919.

    Article  Google Scholar 

  4. M Bjelonic, C D Bellicoso, Y V D Viragh et al. Keep rollin’ - whole-body motion control and planning for wheeled quadrupedal robots. IEEE Robotics and Automation Letters, 2018, 4(2): 2116–2123.

    Article  Google Scholar 

  5. S H Hyon, Y Ida, J Ishikawa et al. Whole-body locomotion and posture control on a torque-controlled hydraulic rover. IEEE Robotics and Automation Letters, 2019, 4(4): 4587–4594.

    Article  Google Scholar 

  6. M Kalakrishnan, J Buchli, P Pastor et al. Learning, planning, and control for quadruped locomotion over challenging terrain. The International Journal of Robotics Researchs, 2011, 30(2): 236–258.

    Article  Google Scholar 

  7. H Navvabi, A H D Markazi. New afsmc method for nonlinear system with state-dependent uncertainty: Application to hexapod robot position control. Journal of Intelligent and Robotic System, 2019, 95: 71–75.

    Article  Google Scholar 

  8. S N Nabavi, A Akbarzadeh, J Enferadi. Closed-form dynamic formulation of a general 6-p us robot. Journal of Intelligent and Robotic Systemsm, 2019, 96(3-4): 317–330.

    Article  Google Scholar 

  9. Y Huang, D M Pool, O Stroosma et al. Long-stroke hydraulic robot motion control with incremental nonlinear dynamic inversion. IEEE/ASME Transactions on Mechatronics, 2019, 24(1): 304–314.

    Article  Google Scholar 

  10. A M Khan, D Yun, M A Ali et al. Adaptive impedance control for upper limb assist exoskeleton. In: Proceedings of the IEEE/RSJ International Conference on Robotics and Automation. Seattle, 2015: 4359–4366.

  11. F Farsam, D Mohammad. A new hybrid intelligent control algorithm for a seven-link biped walking robot. Journal of Vibration and Control, 2014: 20(9): 1378–1393.

    Article  MathSciNet  Google Scholar 

  12. A Omur, S Uluc. Reactive planning and control of planar spring-mass running on rough terrain. IEEE Transactions on Robotics, 2012, 28(3): 567–579.

    Article  Google Scholar 

  13. J Buchli, M Kalakrishnan, M Mistry et al. Compliant quadruped locomotion over rough terrain. In: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems. Louis, 2009: 814–820.

  14. D J Hyun, S Seok, J Lee et al. High speed trot-running: Implementation of a hierarchical controller using proprioceptive impedance control on the mit cheetah. The International Journal of Robotics Research, 2015, 33(11): 1417–1445.

    Article  Google Scholar 

  15. E S Ahn, R W Longman, J J Kim et al. Evaluation of five control algorithms for addressing cmg induced jitter on a spacecraft testbed. Journal of the Astronautical Sciences, 2013, 60(3-4): 434–467.

    Article  Google Scholar 

  16. K Subramanian, J B Rawlings, C T Maravelias et al. Integration of control theory and scheduling methods for supply chain management. Computers and Chemical Engineering, 2013, 51: 4–20.

    Article  Google Scholar 

  17. J A Castano, E M Hoffman, A Laurenzi et al. A whole body attitude stabilizer for hybrid wheeled-legged quadruped robots. In: Proceedings of the IEEE/RSJ International Conference on Robotics and Automation. Brisbane, 2018: 706–712.

  18. X Huang, J Sun, H Hua et al. Design scheme of a passive isotropic multi-strut vibration isolation platform constructed by three-parameter isolators based on the optimum damping frequency concept. Journal of Vibration and Control, 2018, 24(17): 3942–3943.

    Article  MathSciNet  Google Scholar 

  19. J Ji, Y Wu, K Yu et al. Dynamic modeling and experimental analyses of stewart platform with flexible hinges. Journal of Vibration and Control, 2018, 25(1): 151–171.

    Article  MathSciNet  Google Scholar 

  20. Q Luo, D Li, W Zhou. Studies on vibration isolation for a multiple flywheel system in variable configurations. Journal of Vibration and Control, 2015, 21(11): 105–123.

    Article  Google Scholar 

  21. Z Qiu, J Yang, X Zhang. Self-excited vibration control of the flexible planar parallel 3-rrr robot. Journal of Vibration and Control, 2019, 25(2): 351–361.

    Article  MathSciNet  Google Scholar 

  22. C Wang, X Xie, Y Chen et al. Investigation on active vibration isolation of a stewart platform with piezoelectric actuators. Journal of Sound and Vibration, 2016, 383(21-22): 2758–2768.

    Google Scholar 

  23. S Xu, G Sun, and Z Li. Finite frequency vibration suppression for space flexible structures in tip position control. International Journal of Control, Automation and Systems, 2018, 16: 1021–1029.

    Article  Google Scholar 

  24. J Dong, J Xu, Q Zhou et al. Physical human-robot interaction force control method based on adaptive variable impedance. Journal of the Franklin Institute, 2020, 357(12): 7864–7878.

    Article  MATH  MathSciNet  Google Scholar 

  25. H Deng, G Xin, G Zhong et al. Gait and trajectory rolling planning and control of hexapod robots for disaster rescue applications. Robotics and Autonomous Systems, 2017, 95: 13–24.

    Article  Google Scholar 

  26. M Trumic, K Jovanovic, A Fagiolini. Decoupled nonlinear adaptive control of position and stiffness for pneumatic soft robots. The International Journal of Robotics Research, 2020, 40(1): 277–295.

    Article  Google Scholar 

  27. J Duan, Y Gan, M Chen et al. Adaptive variable impedance control for dynamic contact force tracking in uncertain environment. Robotics and Autonomous Systems, 2018, 102: 54–65.

    Article  Google Scholar 

  28. Z Li, J Liu, Z Huang et al. Adaptive impedance control of human-robot cooperation using reinforcement learning. IEEE Transactions on Industrial Electronics, 2017, 64(10): 8013–8022.

    Article  Google Scholar 

  29. H Peng, J Wang, S Wang et al. Coordinated motion control for a wheel-leg robot with speed consensus strategy. IEEE/ASME Transactions on Mechatronics, 2020, 25(3): 1366–1376.

    Google Scholar 

  30. B Heinrichs, N Sepehri, A B Thornton-Trump. Position-based impedance control of an industrial hydraulic manipulator. IEEE Control Systems Magazine, 1997, 17(1): 46–52.

    Article  Google Scholar 

Download references


Not applicable.


Supported by National Natural Science Foundation of China (Grant No. 61773060).

Author information

Authors and Affiliations



FG was in charge of the whole trial and wrote the manuscript; SW supervised the project and built software construction; DL conducted experiment and data analysis; JW supervised and coordinated experiment process. All authors read and approved the final manuscript.

Authors’ Information

Fei Guo, born in 1992, is currently a research assistant at National Key Laboratory of Human Factors Engineering, China, Astronaut Research and Training Center, China. She obtained her Ph.D. degree from Beijing Institute of Technology, China, in 2021. Her research interests include intelligent and optimal control algorithm working on Stewart parallel mechanism and robotics.

Shouwkun Wang, born in 1977, is currently an associate professor at School of Automation, Beijing Institute of Technology, China. His research interests include static and dynamic performance test of electro-hydraulic servo system.

Daohe Liu, born in 1995, obtained his master degree from State Key Laboratory of Intelligent Control and Decision of Complex Systems, Beijing Institute of Technology, China. Now he is an assistant engineer at China State Shipbuilding Corporation Systems Engineering Research Institute.

Junzheng Wang, born in 1964, is a professor at School of Automation, Beijing Institute of Technology, China. His primary research involves servo motion driving and control.

Corresponding author

Correspondence to Shoukun Wang.

Ethics declarations

Competing Interests

The authors declare that they have no competing interests.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit

Reprints and Permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Guo, F., Wang, S., Liu, D. et al. A Closed-Loop Dynamic Controller for Active Vibration Isolation Working on A Parallel Wheel-Legged Robot. Chin. J. Mech. Eng. 36, 79 (2023).

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI:


  • Wheel-legged hybrid robot
  • Adaptive impedance control
  • Model predictive control
  • Stewart mechanism
  • Vibration isolation
  • Parallel robot