Journal of Mechanical Engineering and Automation
p-ISSN: 2163-2405 e-ISSN: 2163-2413
2017; 7(2): 30-45
doi:10.5923/j.jmea.20170702.02

Hiroaki Uchida
Department of Mechanical Engineering, National Institute of Technology, Kisarazu College, Kisarazu, Japan
Correspondence to: Hiroaki Uchida, Department of Mechanical Engineering, National Institute of Technology, Kisarazu College, Kisarazu, Japan.
| Email: | ![]() |
Copyright © 2017 Scientific & Academic Publishing. All Rights Reserved.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/

We describe a six-degree-of-freedom control method for the posture (body height, and pitch and roll angles), body position (x, y), and yaw angle of a six-legged robot. First, we describe our posture control method using an impedance model while considering actuator dynamics, after which we describe a walking directional control method that utilizes the torque of rotating links and reaction forces of thigh and shank links as control inputs. For the posture control and walking directional control models, we built a Type-1 servo system and designed a linear-quadratic-integral control system that allowed the robot to follow the targeted body posture, body position (x, y), and yaw angle trajectories. Additionally, in response to an observed problem in which the feedback (FB) input for thigh and shank links generated by walking directional control interferes with the FB input for a thigh link generated by posture control, we will explain how the FB control input produced by posture control in our model generates a control input that eliminates the walking directional control interference. The effectiveness of our proposed control method is then examined through simulations using a three-dimensional model of the robot during straight walking and obstacle climbing behavior.
Keywords: Six-legged Robot, 6-DoF Control, Posture Control, Walking Directional Control, LQI Control, 3D Simulation, Irregular Terrain Walking
Cite this paper: Hiroaki Uchida, Six-degree-of-freedom Control by Posture Control and Walking Directional Control for Six-legged Robot, Journal of Mechanical Engineering and Automation, Vol. 7 No. 2, 2017, pp. 30-45. doi: 10.5923/j.jmea.20170702.02.
, a thigh link
, a shank link
, and a foot sole
. First, we describe the previously used posture control method [19]. Next, we describe our proposed walking directional control. The six-legged robot used in this study has three joints, which are driven by actuators at the rotating, thigh, and shank links. In our previous study [12], a walking directional control method in which the only control inputs were the rotating link torques was described. More specifically, when walking with three-legged support, the reaction force from the support legs becomes a propulsive force acting on the body. Accordingly, in this situation, we can derive a mathematical model in which the torque of rotating links and reaction forces of thigh and shank links are control inputs for controlling the body position and yaw angle. To explore our posture control and walking directional control models, we built a Type-1 servo system and designed a linear-quadratic-integral (LQI) control system that permits the robot to follow the target trajectories of body posture, body position, and yaw angle. One problem encountered at this point is that the FB inputs for the thigh and shank links generated by the walking directional control interfere with the FB input for the thigh link generated by the posture control. Herein, we will explain how the FB control input by our posture control method generates a control input that eliminates the interference produced by the walking directional control. More specifically, the FB inputs acquired by the LQI control system in the walking directional control are converted into correction amounts for the target angles of the rotating and shank links of the support legs, which allows the target trajectories of the rotating and shank links to be corrected. The effectiveness of this proposed method is confirmed through simulations using a 3D model of the six-legged robot.![]() | Figure 1. Model of one leg of a six-legged robot |
is driven by a worm gear. The self-locking function of the worm gear cancels the body weight torque in the thigh link.
is a passive rotational joint, and the range of movement
is
. Figure 1 shows the relationship between the
forces and the
reaction forces working at the rotating axis.
are forces working in the horizontal and vertical directions at the sole of the support leg, respectively.
is the sum of
, and
.
shows the fluctuation of the horizontal force caused by slippage and model error.
is the sum of
and 
.
shows the vertical force fluctuation of the model error. Robot motion is driven by the control input, which requires current flow from the motor driver to the motor through a digital-to-analog (D/A) converter. The body of the robot is equipped with an LRF, a posture sensor that detects the pitch and roll angles of the body, and an ultrasonic sensor that detects the body height. Figure 3 shows a 3D computer-aided drafting (CAD) model of the six-legged robot shown in Fig. 2. The model was created by connecting a total of 19 elements (one body, three leg joints) using revolute joints. Each revolute joint in the 3D CAD model has a frequency response in the actual robot (Fig. 2), which can be approximated using the following second-order transfer function:![]() | (1) |
represents the leg link rotation angle,
represents the command current to the motor driver, i represents the leg number (1 to 6), and j represents the rotating link (1), the thigh link (2), or the shank link (3). Table 1 shows the
and
values for the rotating link, thigh link, and shank link. In addition, four contact points are present on the underside of the foot at the end of each leg, and contact with the walking surface is modeled using springs
and dampers
. The coefficient of friction (CoF) is taken to be 0.35. In this study, the robot is modeled in 3D using Virtual. Lab Motion (Siemens PLM Software, Plano, TX), and numerical calculations are carried out using MATLAB®/Simulink (MathWorks, Natick, MA). The nonlinear equation of motion for the robot is derived automatically in Virtual.Lab Motion. Furthermore, the actual robot mechanism is designed so that the shank and the foot underside are connected by a revolute joint, and the entire foot underside makes contact with the walking surface. However, this revolute joint
is not included in the 3D CAD model. The error influence caused by the absence of this revolute joint in the model is reduced by designing the walking trajectory as follows: (1) the trajectory is set in a way that ensures that the shank is always roughly perpendicular to the walking surface, and (2) the walking speed is set in a way that ensures that the influence of supporting leg slippage in the 3D simulation is small. This assumes stable operation/walking on uneven terrain. In the simulation, the maximum slip velocity in the x and y directions is 0.002 m/s, and approximately 0.01 m of slippage occurs in the 5-s support phase. Since the control method used in this study is affected by the reaction forces acting on the support legs, it is preferable that no slippage occur. However, since it is impossible to create a walking environment in which there is absolutely no slippage, the effectiveness of the control method is tested in a walking environment where slippage occurs in the support legs. Furthermore, the model error produced by
can be considered as the fluctuation of
shown in Section 4.3.
|
![]() | Figure 2. Six-legged robot |
![]() | Figure 3. 3D CAD model of six-legged robot |
![]() | Figure 4. Walking patterns |
![]() | Figure 5. Walking patterns |
, the mass of the body is
, the inertia around the pitch and roll axes are
and
, respectively, the body height is
, the pitch and roll angles of the body are
and
, respectively, and the coordinates of the rotating link between the body and the shoulder at the support legs are
. The motion equations of the force and moment equilibrium in the vertical direction and those for the pitch and roll axes in supporting the six-legged robot by three legs are shown as Eq. (2) [19]. Here, the deviation of the rotating angles is assumed to be small. The subscripts (2), (3), and (6) denote the support legs that are designated Legs II, III, and VI, respectively.![]() | (2) |
and moments
controlling the desired posture are generated at the rotating link of the thigh shown in Fig. 6, as the reaction force of the force acting on a support leg. This imaginary force and these moments are shown as
in Eq. (2). ![]() | Figure 6. Imaginary impedance model of FB control for a six-legged robot |
at the thigh link by using the imaginary spring and damper in a situation where the six-legged robot body is kept stable by statically applying FF control inputs. In Fig. 7,
is the thigh length, and
changes due to changes in
and
. It is assumed that the variation effects are small, and
is approximated as
. Additionally,
and
are respectively the damping and spring coefficients used to generate the imaginary force shown as Eq. (3-a). In this figure, it is assumed that the shank always becomes vertical to the ground
. Based on that assumption, the FB force
generating the imaginary force
and moments
leads to the following Eqs. (3-a) and (3-b). Moreover, the angles of the thigh are not permanently at zero degrees on irregular terrain, such as on a step.
shows the deviation on the irregular terrain. Figure 8 shows the relation of the displacement difference
between
and
. In Fig. 8, the red dashed line shows the relation between the body and the thigh link in the case of
. The imaginary force acting on the support leg by the imaginary impedance is shown as follows:![]() | (3-a) |
![]() | (3-b) |
is linearized at zero degrees as follows:![]() | (4) |
![]() | (5) |
is the armature current of the DC motor,
is the angle between the body and thigh,
is the torque constant,
is the moment of inertia, and
is the mechanical viscous damping coefficient. In Eq. (5),
,
, and the state equation and the output equation from current
to the DC motor
are expressed as![]() | (6-a) |
![]() | (6-b) |

![]() | Figure 7. Relationship between the thigh angle and the imaginary force in the vertical direction of the support leg |
![]() | Figure 8. Relationship between and ![]() |

, which comprises the state values of each thigh link, the pitch and roll angles, the body height, and the velocity, the following state equation is obtained. The body height is zero in the case of
. Subscripts (2), (3), and (6) denote the support legs (Legs II, III, and VI, respectively).![]() | (7) |
Then, Eq. (7) can be rewritten to give the following output equations:![]() | (8-a) |
![]() | (8-b) |
generated by the rotating links with three-legged support and the forces
acting on the body as a result of these reaction forces. Figure 10 shows the relationship between torques
generated by the thigh and the shank links with three-legged support and the forces
acting on the body as a result of these reaction forces. Here,
represents the direction of travel in the robot coordinate system,
represents the horizontal direction perpendicular to the
-axis, and
represents the yaw angle of the body of the robot's body, which is the angle of rotation about the -axis.
represents the mass of the robot’s body,
is the moment of inertia about the -axis, and
is the angle of the revolute joint in the rotating link. For
, the clockwise direction is taken as positive, while for
, the counterclockwise direction is taken as positive.
represents the position vector from the CoG of the robot's body to the rotational center of the rotating link of each leg. Figure 11 shows the relationship between the forces
acting on Leg II (a support leg), and the forces
, which are the components of
that act perpendicular to
.
indicates the angle between
and
. The equations of motion for the CoG of the robot's body in the x-direction, y-direction, and about the yaw angle
(which are derived in the same way for the situation where Legs I, IV, and V are the support legs) are![]() | (9) |
,
, and
are the total fluctuations of the force in the x-direction, the force in the y-direction, and the moment about the -axis, respectively. Here, defining the state variable vector as
and the control input vector as
, gives the following state and output equations:![]() | (10-a) |
![]() | (10-b) |

The input matrix
is time-variant. Here, considering the range of movement
,
in
given in Eq. (10) is fixed as follows.
are set to
. When
are positive,
, and when
,
. In addition,
. In this study, the FB control system is designed by
as a time-invariant matrix.![]() | Figure 9. Reaction forces at the body received from the rotating links |
![]() | Figure 10. Reaction forces at the body received from torques generated by the thigh and shank |
![]() | Figure 11. Relation among φ, θ, and ψ |
is designed by considering the FB models shown in Section 4.1.3 and Section 4.2. Because body posture step references and step disturbances seem to occur frequently in an environment where the robot is active, a Type-1 servo system was designed:![]() | (11) |
is the error vector between the desired vector
and the output vector
. Describing Eq. (11) as a matrix, we obtain the following:![]() | (12) |
![]() | (13) |
is obtained to minimize the following equation:![]() | (14) |
and
are weighting matrices given by the design specifications, where
. The control input
used to minimize Eq. (14) is given by the following equation: ![]() | (15) |
is the unique positive definite solution of the following Riccati equation:![]() | (16) |
in Eq. (5). In addition, the FB control inputs by the walking directional control are
for the rotating link and the reaction force
for the thigh and shank links.The relationship between the thigh and shank torques and the body reaction forces from the support legs is expressed by the Jacobian matrix in the leg mechanism, as shown in Fig. 2. The relationship between
,
, and forces
,
acting at the sole of the support leg is shown as follows:![]() | (17) |
Here, we consider FB control input
of the thigh link.
in Eq. (17) is shown as follows:![]() | (18) |
With the approximation
, Eq. (18) can be rewritten by the following equation:![]() | (19) |
![]() | (20) |
by the walking directional control and of the model error
, including the rotating link
, become the disturbance input interfering with the FB control input of the posture control. The control input
of the shank is shown as follows:![]() | (21) |

,
is approximated by
.
is dominated by the
term. Therefore, in this study,
is obtained by multiplying
by
.
, and
, which are control inputs for the rotating, thigh, and shank links, respectively. Figure 13 shows a block diagram of the transformation part of the control input for one support leg. The rotating and shank links are primarily controlled by the walking directional control. In the walking directional control, steady-state deviation occurs in the type-1 servo system because the reference signals of the robot change with time. Thus, we can see that the controlling state of the rotating and thigh links used by the proportional derivative (PD) control to follow the reference signals is a steady state. In this study, when the control performance degrades due to walking disturbance, a walking directional controller is used to decrease the walking disturbance effect. The FB control inputs
and
produced by the walking directional control are converted into modified reference signal amounts by coefficients
,
, and
. The PD control for each leg link in Fig. 11 is given by the following equation:![]() | (22) |
![]() | Figure 12. Block diagram of control system |
|
indicates the proportional gain, and
is the velocity gain. The FB control input can also be converted as a modified thigh amount, but inputs directly into the thigh in this study. Table 2 shows the parameters used in our 3D simulations. An interval of 1 s, when the three support legs switch to the swinging phase after the three swinging legs land firmly on the ground, is set as the switching length of the support legs to stabilize the posture. Additionally, in order to more clearly examine the input interference of walking directional control on the posture control input, the influence of the interference was increased to
, as shown in Fig. 12.![]() | Figure 13. Block diagram of one leg in support phase |
of the rotating link imposed by the walking directional control, Fig. 18 shows FB control inputs of the thigh link imposed by the posture control, and Fig. 19 shows FB control inputs
imposed by the walking directional control. Additionally, in Figs. 16-19, panels (a)-(c) show the results for Legs I, IV, and V, while panels (d)-(f) show the results for Legs II, III, and VI. In Figs. 14-18, the blue dashed lines (Case B) indicate the results for 6-DoF control. The red solid lines (Case A) indicate the results of 6-DoF control in a situation where PD gains
of the rotating links in Legs II, IV, and VI change to 0.5 times the PD gains in Legs I, III, and V. For Case A, we can consider the fluctuation of the control input to be horizontal force
fluctuation. In this case, the movement range of the rotating link in Legs II, IV, and VI became 84.7% that of Legs I, III, and V. The green dash-dotted lines (Case C) indicate the results of the posture control with PD gain changes as in Case A. For case C, we do not apply the walking directional control. The black dotted line indicates the reference signal. First, we will consider Case C. In Fig. 14, where the body height and the pitch and roll angles are controlled by the posture control, posture variation is reduced. However, the body turns rightward because the tracking performance of the rotating links in the three right legs of the robot declines in comparison with that of the three left legs. In addition, since the repair motion works solely on posture control, the errors of the body position and the yaw angle can be seen to increase. Furthermore, the y-position error increases significantly because of the error of the position to land the swing leg and due to support leg slippage. The FB control inputs produced by posture control shown in Fig. 18 are generated largely at the time of support leg switching. After the support leg switching process is allowed to continue for a while, the FB control inputs decline to nearly zero. Next, we will consider Case B, in which it can be seen that the body control values follow the reference signals due to the influence of the posture and walking directional controls. Note that the tracking performance of the y-position is especially improved. This is because the FB control inputs for the rotating links (Fig. 17) in Legs III and IV work well since the reference signal of the rotating links in Fig. 16 are modified. As a result, the robot follows the target trajectory, and the error in the x-direction is reduced by the FB control input of the shank link. However, even though the body posture in terms of height, and pitch and roll angles oscillates, the body height amplitude remains within ± 0.01 m, and the pitch and roll angles are within ± 0.02 rad. Body posture oscillations become large in comparison with Case C. This is because the FB control produced by the posture control generates the control input used to eliminate the disturbance input created by the walking directional control shown in Eq. (19). This component causes the body posture oscillation. As a result, variations in the posture are small. Also, in Fig. 15, in the case of 6 DoF control, the slippage is larger in the x-direction in Leg III. In Fig. 19, the correction force acting on the shank of Leg III is larger than that on the shank of Leg IV, and the slippage of Leg III is larger than that of Leg IV due to this influence. Similar slippage occurs in the locus of other support legs. Finally, we will consider Case A, where it can be seen that the 6-DoF control shows the same trajectory tracking performance as Case B. This is because the FB control inputs of the rotating links in Legs II, IV, and VI generate negative inputs when compared with Case B, and the FB control inputs in Legs I and V generate positive inputs, as shown in Fig. 17. The three support legs on the right side move in the direction to push the body early, while the three support legs on the left side move to suppress that movement. Therefore, it can be seen that the trajectory responses of rotating links in the support phase of Legs I and V are delayed, and the trajectory responses of Legs II and VI are advanced, as shown in Fig. 16. Using these factors, the posture controller and the walking directional controller constituting the 6-DoF control generate the FB control input independently. The FB control input of the walking directional control interferes with the FB control input of the posture control, but the posture control detects the walking directional control input as a disturbance, and generates inputs to eliminate this disturbance. As a result, it can be confirmed that the proposed control method achieves 6-DoF control and that the walking directional controller is capable of generating FB control inputs that suppress effects caused by reaction force fluctuations resulting from factors such as slippage.![]() | Figure 14. Time responses of 6-DoF of the body in the case of walking on even terrain |
![]() | Figure 15. Position of Legs III and IV in support phase |
![]() | Figure 16. Time responses of rotating angles in the case of walking on even terrain |
![]() | Figure 17. Time responses of FB torques for rotating links operated by the walking directional control |
![]() | Figure 18. Time responses of FB inputs for thigh links operated by the posture control |
![]() | Figure 19. Time responses of FB forces produced by the walking directional control |
![]() | Figure 20. Case of irregular terrain |
![]() | Figure 21. Top view of existing step obstacle |
, yaw angle, body height, and pitch and roll angles, respectively. In Fig. 22, the red lines indicate the results of 6-DoF control, while the blue dashed lines indicate the results of posture control alone. The black dotted lines indicate the reference signal. In Fig. 22(d), which tracks the robot’s height, the red and blue dashed lines indicate the reference signals of the 6-DoF control and posture control alone, respectively. From these figures, it can be seen that results of the body height, and pitch and roll angles in the 6-DoF control are almost the same as the results for posture control alone. This shows that the 6-DoF posture control suppresses the bump disturbance and the walking directional control FB inputs. Regarding the robot’s CoG position and yaw angle, it can be seen that the deviation from the reference signal caused by the bump and slippage only increase in cases when posture control alone is used. When 6-DoF control is utilized, the robot shows good trajectory tracking performance under walking directional control. Figures 23(a)-(d) show our animation results. Specifically, Figs. 23(a) and (b) show the side and top view at 42.5 s, respectively, while Figs. 23(c) and (d) show the side and the top view at 112.5 s, respectively. From these figures, it can be seen that the robot is controlled in accordance with the reference signals, both when climbing up and coming down from the bump. From the abovementioned results, it can be confirmed that the proposed 6-DoF control consisting of posture and walking directional control provides an effective method for a robot walking on irregular terrain.![]() | Figure 22. Time responses of body 6-DoF in the case of walking on uneven terrain |
![]() | Figure 23. Animation results in the case of walking on uneven terrain |