1 Introduction

Recently, cooperative control has been widely used in networked Cyber-Physical Systems (CPSs), especially in robot systems [1,2,3,4,5]. Robot systems are characterized as having many CPUs, many sensors and complex communication networks. Packets in the networks may loss during transmission. In order to reduce impact of network packet loss on motion control, the motion control system is modularized. The motion control of the robot needs collaborative work of each CPU. In this paper, an electric parallel wheel-legged robot named BITNAZA is introduced. The robot has four legs and four wheels, the wheels are installed on the end of the legs. Every leg is controlled by a slave CPU and the legs communicate with each other by the networks. A host CPU is applied to plan the motion trajectory by coordinating the four salve CPUs. As the robot has four legs and four wheels, it can walks with legs or wheels. Moreover, when the robot walks with wheels, it can maintain its horizontal attitude by adjusting the length of the legs. If attitude of the robot maintains horizontal, equipment on the robot will not be disturbed by vibration, and the robot can pass through complex terrain. A large amount of research and development have been carried out for active vibration isolation, attitude adjustment and impedance control.

Anti-vibration mounts were often used to protect delicate pieces of equipment from the vibration of the structure that they were attached to [6,7,8,9]. In traditional passive mounts, the isolation performance depended on the damping. However, the passive mounts cannot isolate both low and high-frequency disturbances [6]. Thus, active mounts which can actively reduce vibration should be introduced. The active mounts can reduce vibration transmission through the mounts at all frequencies. In [10, 11], the Stewart platforms were applied to isolate vibration. Stewart platform has six degrees of freedom which is very flexible to isolate vibration. Some control algorithms were carried out for the active vibration isolation. In [12], robust and adaptive control was applied to the active vibration control by using an inertial actuator. Unknown multiple frequency vibrations were modeled and adaptively compensated for the stabilization and control of an active isolation system in [13]. Performance constraints and actuator saturation were considered in the vibration isolation for active suspensions in [14]. In [15], iterative data-driven H norm estimation was applied to the robust control of the active vibration isolation. Active vibration isolation was usually applied to a single platform, but the attitude of the robot is adjusted by four legs which represent four platforms. To this end, some researches have been carried out for the attitude adjustment.

Attitude adjustment was applied in many platforms, such as underwater glider [16], space robot [17, 18], SUAV [19], reentry vehicle [20], unmanned aerial vehicle [21], and so on. In [16], reinforcement learning was combined with active disturbance rejection control to control the attitude of the underwater glider. Neural network based adaptive fuzzy PID-type sliding mode was applied to control the attitude of the reentry vehicle [20]. Adaptive compensation control was used to adjust the attitude of a quad-rotor unmanned aerial vehicle [21]. The intelligent control algorithms were trained using various sets of data. However, the optimality which depends on how many sets of data has been used to train the intelligent control algorithms.

Impedance control was widely used in the robot systems to interact with human or the environment [22,23,24,25,26]. In [22, 23], the interaction between physical, human and robot was controlled by the impedance control. In [24], impedance control was applied for a wall-cleaning unit. Adaptive impedance control was applied for an upper-limb rehabilitation robot in [25] by using evolutionary dynamic recurrent fuzzy neural network. In the electric parallel wheel-legged robot, impedance control is used to avoid the wheels dangling during the driving of the robot. Attitude of the robot can maintain horizontal with the other three wheels if one of the wheels is suspended, but driving force is reduced. In order to obtain better performance to pass through complex terrain, the four wheels should always be on the ground.

In this paper, an electric parallel wheel-legged robot is introduced. Cooperative control is proposed to control the attitude of the robot. The attitude controller is implemented in the host CPU, and then the position commands are sent to the slave CPUs on the legs. The legs are controlled to reach the reference position by ADRC. ADRC is characterized as simple structure, strong robustness, disturbance rejection ability, and it is widely used in many fields [27,28,29,30]. In order to get better performance to pass through complex terrain, the centroid height of the robot is controlled. In addition, the four wheels are controlled to touch the ground all the time by impedance control. In summary, main contributions of this paper are as follows:

  1. 1)

    Cooperative attitude control framework is proposed. It includes two parts, the upper part and the lower part. The upper part includes attitude controller, impedance controller and centroid height controller.

  2. 2)

    Impedance control is applied to guarantee that every wheel of the robot is on the ground. If one of the wheels is not one the ground, the driving force will not be enough to drive the robot. In this case, the robot cannot move.

  3. 3)

    Centroid height controller is used to get better performance when the robot passes through complex terrain. The length of the legs is fixed, if we want to get maximum motion space, the average length of the four legs should be near the half length of one leg. Greater movement space means better performance when the robot passes through complex terrain.

  4. 4)

    Experimental results are carried out to verify the effectiveness of the proposed cooperative attitude control framework. Necessity of impedance control and centroid height control is proved by a series of comparative experiments. Attitude control and complex terrain passing through ability are also validated. Video of the experiments is available in the attachment.

2 Configuration of the robot and cooperative control problem description

In this Section, the robot mechanism and cooperative control problem will be described. The complex communication networks and main mechanism parts of the robot will be introduced in Section 2.1. The cooperative control problem is presented in Section 2.2.

2.1 Robot mechanism

Fig. 1
figure 1

Electric parallel wheel-legged robot - BITNAZA

The electric parallel wheel-legged robot - BITNAZA is shown in Fig. 1. It includes five main subsystems:

  1. 1)

    Complex communication network. The communication network includes TCP/IP based network, controller area network (CAN) bus network, RS232 communication network etc. The robot status information is sent to a monitor computer by wireless user datagram protocol (UDP) transmission technology when the robot is working. The cooperative control framework is mainly implemented through the CAN bus. The position commands and speed commands are sent to the slave CPUs, force values and positions of each leg are sent back to the host CPU through the CAN bus. There are five nodes on the CAN bus. Host CPU is the master node, slave CPUs are the slave nodes. Attitude sensor is transmitted through RS232 network. The transmission cycle is about 100ms for UDP, 20ms for RS232 network and 3ms for CAN bus network. The transmission is reliable and no packet loss in the transmission based on UDP and RS232. But the data packet may be lost during the transmission based on CAN bus. The transmission cycle is short and the data is many. It is found that if the transmission cycle is long enough the packet loss can be eliminated, but we hope the communication cycle is short. There is a trade-off between the transmission cycle and the packet loss rate. We find that if the transmission cycle of CAN bus is 3ms, the packet loss can be ignored. If the packet is lost, the last package will be used again.

  2. 2)

    Robot vision system. The robot vision system is eyes of the robot. It includes stereo vision, two-dimensional laser radar and a turntable with two degrees of freedom. Two - dimensional laser radar can identify the location and size of the obstacles around the robot. Stereo vision can provide image information around the robot.

  3. 3)

    Energy system is the power source of the robot, it includes lithium batteries and power inverters.

  4. 4)

    Four legs. Every leg of the robot is an inverted Stewart platform. Stewart platform is a kind of motion platform whose actuators are installed in parallel. The actuators are six electric cylinders, and the power of each cylinder is 400W. The Stewart has six degrees of freedom, therefore it is nimble enough to serve as leg of the robot. If the robot adjusts its attitude when it walks with wheels, only the degree of freedom of the Stewart in vertical direction needs to be controlled. We called it the position of the legs, named pi (i = 1,2,3,4). The robot has strong load capacity due to the parallel structure of Stewart.

  5. 5)

    Four wheels. The wheels are installed on the end of the Stewart platform. The four wheels with the diameter 25.4 cm are driven independently by four motors with power 1200 W and steered independently by the Stewart platforms.

The size of the robot is 1.4m × 1.2m ×1.2m. The weight is 450 Kg and the maximum load weight is about 300 Kg.

2.2 Cooperative control problem

Special structure of the wheel-legged robot makes it has more motion modes. One of the most important motion modes is that the robot can maintain its attitude horizontal by adjusting the length of its legs when the robot walks with wheels. But the attitude control of the robot is complex, it needs cooperative work of the controllers in the cooperative control framework.

Fig. 2
figure 2

Topology of the cooperative control for the attitude adjustment of the wheel-legged robot

Fig. 3
figure 3

Block diagram of the cooperative control

Figure 2 shows the topology of the proposed cooperative control for the attitude adjustment of the wheel-legged robot. The attitude value α and β are measured by the attitude sensor. α is the roll angle of the robot, and β is the pitch angle of the robot. The attitude sensor is installed on the robot. The force values Fi (i = 1,2,3,4) are measured by the force sensors which are installed on the end of the legs. They represent the force of the foots. Although sampled by the slave CPUs, they are sent to the host CPU by the CAN bus. The attitude controller is implemented in the host CPU, and then the command positions are sent to the slave CPUs by CAN bus, respectively. The position controller ADRC is implemented in the slave CPUs.

Figure 3 shows the block diagram of the cooperative control. In Fig. 3, impedance controller, attitude controller and centroid height controller are implemented in the host CPU. Position controller ADRCs are implemented in the salve CPUs. The attitude controller calculates the positions of each leg \(p_{i}^{\prime }\left ({i = 1,2,3,4} \right )\) based on α and β. The impedance controller calculates the incremental positions pfi (i = 1,2,3,4) based on the force Fi (i = 1,2,3,4). Then \(p_{i}^{\prime }\left ({i = 1,2,3,4} \right )\) and pfi (i = 1,2,3,4) are added together before being sent to centroid height controller. The command positions pi (i = 1,2,3,4) are obtained after the calculation of centroid height controller. If the command positions are sent to the position controllers (ADRCs), the legs will be controlled to reach the command position. Two issues should be solved by the proposed cooperative attitude control. One is the attitude adjustment of the robot, another is the complex terrain passing through ability. Attitude of the robot need be adjusted to horizontal. The complex terrain passing through ability can be improved by controlling the forces on each leg and the centroid height. The forces are controlled to guarantee that every wheel is on the ground when the robot is passing through the obstacles. The initial force is about 0 N. If the force is lower than 0 N, it means that the leg is leaving the ground. The centroid height is controlled to guarantee that the robot always has maximum motion space. The initial centroid height is 0 m, and the centroid height of the robot need to be controlled near the initial centroid height. In order to adjust the attitude and improve complex terrain passing through ability, four problems should be solved:

  1. 1)

    Attitude adjustment. The attitude parameter α and β should be adjusted to 0. If the values of α and β are 0, the body of the robot will maintain horizontal. α and β can be controlled by attitude controller.

  2. 2)

    The four wheels of the robot should be on the ground all the time. If one of the wheels is not on the ground, the total driving force is not enough to drive the robot. This problem can be solved by the impedance controller.

  3. 3)

    Centroid height of the robot should be controlled at middle of total height of the robot. In this case, the robot has maximum motion space. To control centroid height of the robot, the centroid height controller should be applied.

  4. 4)

    Attitude controller, impedance controller, centroid height controller and position controllers (ADRCs) should work cooperatively.

3 Cooperative control design

The cooperative control problem has been analyzed in last Section. The designing of the cooperative controller will be described in this Section. Cooperative controller includes two parts. The upper part includes attitude controller, impedance controller and centroid height controller. The lower part includes the position controllers (ADRCs). Attitude controller, impedance controller, centroid height controller and ADRC are designed as follows.

3.1 Attitude controller design

Fig. 4
figure 4

Attitude adjustment when the robot passes through an obstacle

Figure 4 shows attitude adjusting strategy when the robot passes through an obstacle. Figure 4a shows diagram of the robot. Move direction of the robot is along the X axis. α is roll angle of the robot which represents the rotation angle of the robot along the X axis. β is pitch angle of the robot which represents rotation angle of the robot along the Y axis. Generally, attitude of the robot is adjusted by the coordinate transformation matrix. We set B the robot coordinate system, P the horizontal coordinate system. Coordinates of the four foot endpoints in the two coordinate systems are \({P_{i}^{B}}\) and \({P_{i}^{P}} (i = 1,2,3,4)\), respectively. Coordinate transformation formula is presented as

$$ {P_{i}^{B}} = T\left( \alpha \right)T\left( \beta \right){P_{i}^{P}} $$
(1)

where \(T\left (\alpha \right ) = \left [ {\begin {array}{*{20}{c}} 1&0&0 \\ 0&{\cos \alpha }&{\sin \alpha } \\ 0&{ - \sin \alpha }&{\cos \alpha } \end {array}} \right ], T\left (\beta \right ) = \left [ {\begin {array}{*{20}{c}} {\cos \beta }&0&{ - \sin \beta } \\ 0&1&0 \\ {\sin \beta }&0&{\cos \beta } \end {array}} \right ]\). T (α) and T (β) are orthogonal matrix, and they satisfy TT (∙) = T (−∙) = T− 1 (∙), so (1) can be rewritten as

$$ {P_{i}^{P}} = T\left( { - \beta } \right)T\left( { - \alpha } \right){P_{i}^{B}}. $$
(2)

Coordinate transformation formula based traditional attitude adjusting strategy can guarantee the horizontal attitude, but simpler and faster method can be applied. Figure 4b shows the case that Leg2,3 pass an obstacle at the same time, and then the attitude of the robot is changed, β≠ 0. We set RL and RW to represent the length and width of the robot. In order to adjust β to 0, Leg2,3 need reduce \(\vartriangle {p_{\beta } }\) or Leg1,4 need increase \(\vartriangle {p_{\beta } }\)

$$ \vartriangle {p_{\beta} } = {R_{L}}\sin \left( {|\beta| } \right). $$
(3)

If Leg2,3 reduce \(\vartriangle {p_{\beta } }\) or Leg1,4 increase \(\vartriangle {p_{\beta } }\), attitude of the robot will be horizontal again. However, if Leg2,3 reduce \(\vartriangle {p_{\beta } }/2\) and Leg1,4 increase \(\vartriangle {p_{\beta } }/2\) at the same time, adjusting time will be cut by half. If \(\alpha \ne 0, \vartriangle {p_{\alpha } }\) is obtained by

$$ \vartriangle {p_{\alpha} } = {R_{W}}\sin \left( {|\alpha|} \right). $$
(4)

The attitude adjusting algorithm can be summarized in Algorithm 1.

figure e

3.2 Impedance controller design

Fig. 5
figure 5

Impedance control when one or more legs of the robot are suspended

When the robot walks with wheels, there are four wheels on the ground. However, three wheels are enough to keep the robot stable. Figure 5a shows that Leg1 and Leg4 are on the ground, Leg2 is on the obstacle, Leg3 is suspended, but the robot is stable. Although the robot is stable, the driving force cannot drive the robot to move any more. The reason is that three wheels cannot supply enough driving force. In order to guarantee that every wheel touches the ground, the impedance control should be applied. Two issues should be solved by the impedance controller. One is that every wheel should touch the ground. The other is that the touchdown of the feet should be compliant which may not disturb the robot. Figure 5b shows that every wheel is on the ground by the control of the impedance controller.

The traditional descartes impedance model is

$$ {f_{d}} - f = - K\left( {{x_{d}} - x} \right) - D\left( {{{\dot x}_{d}} - \dot x} \right) - M\left( {{{\ddot x}_{d}} - \ddot x} \right) $$
(5)

where fd,f,xd,x are the desired force, actual force, desired position of the leg and actual position of the leg. M is the inertia coefficient, D is the damping coefficient, K is the stiffness coefficient. The transfer function of (5) is presented as

$$ \frac{{{p_{fi}}\left( s \right)}}{{{F_{i}}\left( s \right)}} = \frac{1}{{M{s^{2}} + Ds + K}} $$
(6)

When the robot is controlled by the impedance controller, the wheels are controlled to touch the ground all the time and the mass of the wheels can be ignored, so Ms2 in (6) can be ignored. Equation (6) can be rewritten as

$$ \frac{{{p_{fi}}\left( s \right)}}{{{F_{i}}\left( s \right)}} = \frac{1}{{Ds + K}} $$
(7)

and pfi (i = 1,2,3,4) can be obtained by

$$ {p_{fi}}\left( s \right) = \frac{1}{{Ds + K}}{F_{i}}\left( s \right). $$
(8)

3.3 Centroid height controller design

In order to guarantee the robot has maximum motion space, the centroid height of the robot must be controlled. The principle is that average height of the four legs should be maintained at the initial value. From Fig. 2, it is obvious that the input of the centroid height controller is

$$ p_{i}^{\prime\prime} = p_{i}^{\prime} + {p_{fi}}\left( {i = 1,2,3,4} \right). $$
(9)

The average height \({\bar p^{\prime \prime }}\) is obtained from

$$ {\bar p^{\prime\prime}} = \left( {p_{1}^{\prime\prime} + p_{2}^{\prime\prime} + p_{3}^{\prime\prime} + p_{4}^{\prime\prime}} \right)/4 $$
(10)

We set the initial value of average height to 0, thus the command position is obtained from

$$ {p_{i}} = p_{i}^{\prime\prime} - {\bar p^{\prime\prime}} $$
(11)
Fig. 6
figure 6

Cooperative control framework

The position commands pi can be obtained by Algorithm 2.

figure f

3.4 ADRC design

There are six electric cylinders on one leg, but they are the same and their motion is synchronous. So we analyze the position control of one electric cylinder. The simplified model of electric cylinder is given as

$$ \left\{\begin{array}{ll} {{{\dot x}_{1}} = {x_{2}}} \\ {J{{\dot x}_{2}} = {n_{p}}{\varphi_{a}}{i_{q}} - {T_{f}}({x_{2}}) + {T_{r}}({x_{2}})} \end{array}\right. $$
(12)

where \(x = {[{x_{1}},{x_{2}}]^{T}} = {[\theta ,\dot \theta ]^{T}}\) represents the state vector consisting of the angle and rotation speed. iq represents the stator current excitation on the quadrature axis; J denotes inertia; np is pole-pairs and φa is the stator flux; Tf(x2) is the friction torque and Tr(x2) is the torque from the component force of load. Here, Tf(x2) and Tr(x2) respectively represent the internal disturbance and external disturbance. Equation (12) can be simplified as

$$ \left\{\begin{array}{ll} {{{\dot x}_{1}} = {x_{2}}} \\ {{{\dot x}_{2}} = {b_{0}}{i_{q}} + f({x_{2}},t)} \end{array}\right. $$
(13)

where \({b_{0}} = \frac {{{n_{p}}{\varphi _{a}}}}{J}, f\left ({{x_{2}},t} \right ) = \frac {{{T_{r}}({x_{2}}) - {T_{f}}({x_{2}})}}{J} + f(t)\). f (x2,t) is the generalized disturbance which represents the internal disturbance and external disturbance.

As the position control model is a second-order model, thus a second-order ADRC is designed. The fundamental idea of ADRC is to implement an extended state observer (ESO) that provides an estimated \(\hat f\left (t \right )\), such that we can compensate the impact of f(t) on our model by means of disturbance rejection. In linear ADRC, an extended state observer is designed to estimate the generalized disturbance f:

$$ \dot {\hat x}\left( t \right) = \left( {A - LC} \right) \cdot \hat x\left( t \right) + B \cdot {i_{q}}\left( t \right) + L \cdot y\left( t \right) $$
(14)

where y (t) is the measured length of the electric cylinder, and

$$ A = \left( {\begin{array}{*{20}{c}} 0&1&0 \\ 0&0&1 \\ 0&0&0 \end{array}} \right),B = \left( {\begin{array}{*{20}{c}} 0 \\ {{b_{0}}} \\ 0 \end{array}} \right),C = \left( {\begin{array}{*{20}{c}} 1&0&0 \end{array}} \right),L = \left( {\begin{array}{*{20}{c}} {{l_{1}}} \\ {{l_{2}}} \\ {{l_{3}}} \end{array}} \right) $$

where l1,l2,l3 are observer gains.

All that remains to be handled is the position control model with approximately double integrator behavior, which can easily be done, e.g. by means of a simple modified PD controller. The control law can be obtained by using the estimated variables \(\hat x\).

$$ \begin{array}{@{}rcl@{}} {i_{q}}\left( t \right) & =& \frac{{\left( {{K_{P}}\left( {r\left( t \right) - \hat y\left( t \right)} \right) - {K_{D}}\dot{\hat{y}}\left( t \right)} \right) - \hat f\left( t \right)}}{{{b_{0}}}}\\ & =& \frac{{\left( {{K_{P}}\left( {r\left( t \right) - {{\hat x}_{1}}\left( t \right)} \right) - {K_{D}}{{\hat x}_{2}}\left( t \right)} \right) - {{\hat x}_{3}}\left( t \right)}}{{{b_{0}}}} \end{array} $$
(15)

where r (t) is the reference signal.

To observe both actual disturbances and the model error based on the disturbance observer, the observer gains in (14) should be designed such that the observer poles are on the left side of the S-plane and are far away from the closed-loop poles. We place all closed-loop poles at one location sCL = −ωCL in general (bandwidth parameterization, cf. [28]). And we place all poles of the extended state observer at sESOksCL, k ∈ [3, 10] with \({K_{p}} = {\left ({{s^{CL}}} \right )^{2}}, {K_{D}} = - 2 \cdot {s^{CL}}, {s^{CL}} \approx - \frac {6}{{{T_{settle}}}}, {T_{settle}}\) is the settling time. k is set according to the observer dynamics. Since the observer dynamics must be fast enough. The observer poles sESO must be placed left of the closed loop pole sCL. In addition, the observer dynamics must be faster than the controlled plant dynamics to give accurate estimated variables. If the observer dynamics is slower than the controlled plant dynamics, the estimated variables will be inaccurate which lead to poor control performance. If the observer poles are too far away from the closed loop pole, the observer will be oscillating and unstable. The observer gains can be obtained from the characteristic polynomial of matrix (ALC).

$$ {l_{1}} = - 3 \cdot {s^{ESO}}{\text{, }}{l_{2}} = 3 \cdot {\left( {{s^{ESO}}} \right)^{2}},{\text{ }}{l_{3}} = - {\left( {{s^{ESO}}} \right)^{3}}. $$
(16)
Fig. 7
figure 7

Step response of PID, feedforward PID and ADRC

Fig. 8
figure 8

Attitude control without impedance control

3.5 Controller cooperation

Figure 6 shows framework of the cooperative control. Attitude control of the robot is complex. It needs cooperation of attitude controller, impedance controller, centroid height controller and position controllers (ADRCs) of each leg. In Fig. 6, inputs of impedance controller are Fi (i = 1,2,3,4) and pai(i = 1,2,3,4), where pai is measured position of the i th leg. Inputs of attitude controller are α and β. Outputs of impedance controller pfi (i = 1,2,3,4) and outputs of attitude controller \(p_{i}^{\prime }\left ({i = 1,2,3,4} \right )\) are taken as inputs of centroid height controller, and then outputs of centroid height controller pi (i = 1,2,3,4) are sent to the position controllers (ADRCs) of each leg. The legs will be controlled to reach the set position, and then attitude of the robot will be corrected by the changes of the legs. In addition, the measured positions and forces are fed back to impedance controller. The attitude controller, impedance controller, centroid height controller and position controllers (ADRCs) are designed as follows.

4 Experimental results

The cooperative control framework includes upper controllers which are implemented in the host CPU and lower controllers which are implemented in the slave CPUs. The upper controllers include attitude controller, impedance controller and centroid height controller. The lower controllers are position controllers (ADRC) of each electric cylinder.

Fig. 9
figure 9

Attitude control without centroid height control

Fig. 10
figure 10

Attitude control with impedance control and centroid height control

In order to validate the effectiveness of the position controller (ADRC), we add experimental results of other methods, such as PID and feedforward-PID control. The step responses of the electrical cylinder based on the three controllers are shown in Fig. 7. ADRC has a satisfactory step response with fast response and nil overshoot, but the step response of PID control is unbearable with its low response speed and non-negligible overshoot. Step response of feedforward-PID control is better than PID control, but it also has overshoot.

Fig. 11
figure 11

Attitude adjustment of the robot with the cooperative control

In order to demonstrate the necessity of the controllers, series of comparative experiments are done. In the experiments, the robot is controlled to pass through two obstacles which are presented in Fig. 11. In Fig. 11, the height of every obstacle is 10 cm and the length is 80 cm. Figure 8 shows the attitude control without impedance control. Figure 9 shows the attitude control without centroid height control. Figure 10 shows the attitude control with impedance control and centroid height control.

In Fig. 8, the robot is controlled to pass through the obstacles with attitude control, but without impedance control. It is obvious that attitude of the robot is controlled within ± 1.2, but the force is not controlled. In 12 seconds, the force on Leg 2 is less than 0, Leg 2 is suspended and the robot cannot walk. Only three wheels are on the ground, the driving force is not enough to drive the robot. So the robot stopped.

In Fig. 9, the robot is controlled to pass through the obstacles with attitude control, but without centroid height control. The attitude of the robot is controlled within ± 1.2. The centroid height of the robot is changed with the height changing of the obstacle. If the centroid height is near the upper limit 0.12 m or the lower limit -0.12 m, the motion space of the robot will be limited. If the motion space is limited, the attitude control will be out of action.

Figure 10 shows that the robot is controlled to pass through the obstacles with attitude control, impedance control and centroid height control. The attitude of the robot is controlled within ± 1.0, and the centroid height of the robot is controlled near the initial value 0. The force of every leg is controlled to guarantee that every leg is on the ground. The experiment is shown in Fig. 11, in Fig. 11, body of the robot is always horizontal. Horizontal arrows indicate the move direction of the robot. Vertical arrows indicate the move direction of the legs. In the first picture of Fig. 11, Leg3 is on the obstacle, thus it goes up. In the second picture of Fig. 11, Leg2 and Leg4 are on the obstacles, therefore they go up. Leg1 and Leg3 go down in the control of impedance controller. As no wheel is suspended, the robot can pass through the complex terrain. In the third picture, Leg1 is on the ground. In the fourth picture, the robot passes through the obstacles completely. The proposed cooperative attitude control solves two important issues, one is attitude adjustment of the robot when it walks with wheels, another is the complex terrain passing through ability.

5 Conclusion

The cooperative control for the attitude adjustment of a wheel-legged robot is studied in this paper. The proposed cooperative control is applied in the complex robot system which includes many CPUs, many actuators and many networks. Data is exchanged between the CPUs through the networks. The cooperative control includes the upper part and the lower part. The upper part includes attitude controller, impedance controller and centroid height controller. The lower part includes ADRCs which are used to control the position of each leg. The position control based on ADRC of each leg have very high accuracy for the attitude controller. Impedance controller is applied to guarantee that every wheel is on the ground when the robot passes through the obstacles with wheels. Centroid height controller is applied to guarantee the robot always has maximum motion space. Finally, we show the application of our method in the wheel-legged robot system. The experimental results confirm the effectiveness of our method.

The future work can concentrate on designing more efficient transmission network which can eliminate the packet loss and shorten communication cycle. The dynamic analysis of the impedance control is also needed. More complex road environment can be considered when the robot adjusting its attitude.