Effects of Torso Pitch Motion on Energy Efﬁciency of Biped Robot Walking

: Gait pattern generation has an important inﬂuence on the walking quality of biped robots. In most gait pattern generation methods, it is usually assumed that the torso keeps vertical during walking. It is very intuitive and simple. However, it may not be the most efﬁcient. In this paper, we propose a gait pattern with torso pitch motion (TPM) during walking. We also present a gait pattern with torso keeping vertical (TKV) to study the effects of TPM on energy efﬁciency of biped robots. We deﬁne the cyclic gait of a ﬁve-link biped robot with several gait parameters. The gait parameters are determined by optimization. The optimization criterion is chosen to minimize the energy consumption per unit distance of the biped robot. Under this criterion, the optimal gait performances of TPM and TKV are compared over different step lengths and different gait periods. It is observed that (1) TPM saves more than 12% energy on average compared with TKV, and the main factor of energy-saving in TPM is the reduction of energy consumption of the swing knee in the double support phase and (2) the overall trend of torso motion is leaning forward in double support phase and leaning backward in single support phase, and the amplitude of the torso pitch motion increases as gait period or step length increases.


Introduction
Compared with other types of robots, humanoid robots have good adaptability to the environment, strong obstacle avoidance ability, small moving blind area, and good quality in line with human habits. These have attracted great attention and in-depth research of scholars, such as dynamics analysis [1][2][3], stability criteria [4][5][6], trajectory planning [7][8][9][10], etc. Because the development of humanoid robots is restricted by the development of mechanism, materials, computer technology, control technology, microelectronics technology, communication technology, sensor technology, artificial intelligence, mathematical methods, bionics, etc., humanoid robots cannot yet achieve real anthropomorphism. There are still many problems to be solved in this field, such as walking stability, high-speed walking, reducing energy consumption, etc.
Gait is a type of coordination relationship between joints in time and/or space when a robot is walking. Gait planning of biped robots depends on the ground conditions, lower limb structure, and the control difficulty, and it must meet the requirements of motion stability, walking speed, mobility, etc. For this reason, a variety of methods for gait planning have been adopted.
Gait planning methods based on a simplified model are commonly used methods, such as an inverted pendulum or linear inverted pendulum [11,12]. The simplified model brings a lot of convenience to robot research. The state of the system is only the position and velocity of the center of mass (CoM) of the robot. The gait is generated by the motion of CoM and the design of the landing point, and the trajectory of each join is obtained by inverse kinematics. The disadvantage is that the simplified model is an approximation of the robot and it is not accurate enough. When studying the energy efficiency of biped walking, this in-accurate model is difficult to work on.
The method based on the zero-moment point (ZMP) stability criterion is another common method of gait planning. This type of method designed the reference ZMP trajectory first and then determined the motion of each joint that can realize the reference ZMP trajectory. Kajita et al. [13] and Dasgupta et al. [14] used ZMP based stability criteria to generate gait patterns. The advantage of this method is that if the reference ZMP is designed near the center of the stable region, the stability margin can be large. However, due to the limited changes of ZMP caused by hip motion, not all the expected ZMP trajectories can be achieved. In addition, in order to obtain the desired ZMP trajectory, the hip joint acceleration may need to be very large. In this case, due to the relatively large torso, energy consumption increases, and it is difficult to control the upper body.
There are also some methods based on the multi-link model. Mu et al. [15], Song et al. [16], and Ghiasi et al. [17] designed the gait pattern of a five-link biped robot, and Farzadpour et al. [9] and Fattah et al. [18] designed the gait pattern of a seven-link biped robot. In their methods, the trajectories of hip and feet were defined in different ways first, then joint angles were obtained by inverse kinematics. In addition, torso angle was designed vertical during walking in their methods. This may make the design of the torso angle simple. However, torso keeping vertical may not be the best energy-efficient method for biped walking.
This paper presents a gait generation method for biped robots with torso pitch motion (TPM). We also provide a common gait pattern with torso keeping vertical (TKV) to study the effects of TPM on the energy efficiency of biped robots. Based on the model of a planar five-link robot, the gait of the biped robot is generated by optimization. Firstly, the trajectories of hip position, torso angle, swing ankle position are designed as polynomials with some gait parameters. Then, the minimum total energy consumed by the joint actuators per unit distance is chosen as the optimization objective, and the gait parameters are determined by optimization. Finally, two sets of optimal gaits with different gait periods and different step lengths are generated.
The main contributions of this paper are as follows: (1) Propose a gait pattern generation method for biped robots with the torso pitch motion, define the cyclic gait of a biped robot with multiple gait parameters, choose the minimum total energy consumed by the joint actuators per unit distance as the optimization objective, and determine the gait parameters by optimization; (2) Generate the optimal gait of TPM and TKV for different step lengths and different gait periods and compare the energy consumption of the two gait patterns; the optimization results show that TPM is over 12% more energy-efficient than TKV; (3) Carry out parameter study. Although the parameters related to the torso motion with different gait periods and step lengths are various, the overall trend is that torso leans forward during the double support phase (DSP) and leans backward during the single support phase (SSP); (4) Compare the energy consumption of each joint and observe that the main factor of energy-saving in TPM compared with TKV is the reduction of energy consumption of the swing knee during DSP.
The structure of the rest of this paper is as follows: The second section introduces the modeling of biped robots. In the third section, some gait parameters are designed to define the trajectories. Then, in the fourth section, the optimization of gait parameters is discussed. The optimization results of the optimal gait and the comparison between TPM and the TKV are given and discussed in the fifth section. Finally, the sixth section summarizes the paper.

Biped Robot Model
Because the main movements of biped robots take place in the sagittal plane during walking, this paper only considers the 2D model. A five-link planar biped robot with knees can capture most of the features of biped walking. Therefore, we choose a five-link planar biped robot model and plan its walking gait. The robot's five links include a torso, two thighs, and two shanks. The five links are connected by four revolute joints-two hips and two knees. Each joint has an actuator. Assume that each link is rigid and each joint is frictionless. In addition, we neglect two feet to simplify the model because the mass of each foot of the robot is relatively light. However, we should keep in mind that there is a finite size foot at the tip of each leg. Hence, torque is applied at the stance ankle. The geometric dimensions of the robot are shown in Figure 1 in which m i and l i represent the mass and length of link-i, respectively; d i represents the distance from the center of mass (CoM) of link-i to its lower joint; and I i represents the moment of inertia of link-i about the axis passing through the CoM of link-i and perpendicular to the sagittal plane.

Walking Cycle
The cyclic gait planned in this paper includes DSP and SSP, as shown in Figure 2. The current step is from the beginning of DSP to the end of SSP. At the moment t = 0, foot-1 lands on the ground in front of foot-2, the DSP begins. At the moment t = T d , foot-2 takes off the ground, the DSP ends and the SSP begins simultaneously. During the SSP, foot-2 swings from the back of foot-1 to the front of foot-1. At the moment t = T c , the SSP ends and the current step also completes when foot-2 lands in front of foot-1. Then, the next step begins simultaneously and the two legs exchange their roles. The gait period of one step is T c , the duration of DSP is T d , and the duration of SSP is T s = T c − T d . In order to reduce the impact of swing foot landing and obtain a DSP after impact, we assume that the velocity of the swing foot is equal to zero at its landing [19]. Origin of world frame is at the stance ankle. L is the step length, and S 1 and S 2 are the hip horizontal positions at the beginning and at the end of SSP, respectively.

Motion Equations
Generally, seven degrees of freedom are needed to describe a five-link planar biped robot. However, according to the definition of the walking cycle in Section 2.2, foot-1 always keeps contact with the ground and does not slip in the current step; hence, the biped robot can be regarded as a rooted system. Therefore, the generalized coordinates can be described as q = [q 1 ; q 2 ; q 3 ; q 4 ; q 5 ] (see Figure 3). A coordinate frame is attached to the flat ground called the world frame, its origin is at the ankle of foot-1. In addition, counterclockwise is the positive direction of the angle. In this paper, we assume the biped robot walks from left to right on level ground. Based on Lagrange's formula, the motion equation of SSP is written as the following compact form: .
where M is symmetric and positive defined inertia matrix, C is the matrix related to centrifugal and Coriolis terms, G is the vector of gravity terms, τ = [τ 1 ; τ 2 ; τ 3 ; τ 4 ; τ 5 ] is the vector of actuated joint torques, and B is a constant matrix composed of ones and zeros representing the contribution of the actuated joint torques. During the DSP, it can be considered that foot-2 is constrained on the basis of the motion equation of the SSP. The constraint equation can be expressed as where the additional constraints x 2 (q) and z 2 (q) are the horizontal and vertical positions of the ankle of foot-2, respectively; L is the step length as shown in Figure 2. The motion equation of the DSP is where J = ∂h/∂q is the constrained Jacobian matrix, Γ is the Lagrange multiplier.

Trajectory Planning
If the hip trajectory and ankle trajectories are known, all joint angles of the biped can be obtained by inverse kinematics. Hence, gait patterns can be denoted uniquely by the hip trajectory and ankle trajectories if the knees of the biped bend forward similar to human beings. To this end, we plan the hip and ankle trajectories by polynomials. In this section, we design two gait patterns, TPM and TKV, for our study. The only difference between the two gait patterns is the torso pitch motion.
The duration of DSP or SSP is an important parameter in biped walking. If the duration of DSP is too short, the ZMP must be transferred from the trailing foot to the leading foot in a very small time. If the duration of the DSP is too long, it is difficult to walk at a high speed. In the study of human walking, it is observed that the time interval of DSP is about 20% of one step's duration [20]. Therefore, in this paper, we specify that the duration of the DSP accounts for 20% of the walking cycle, that is, T d = 0.2T c .

Trajectory of the Swing Ankle
During DSP, the swing ankle also remains constant with respect to the floor, and hence its displacements in the horizontal and vertical directions are During SSP, the trajectory of the swing ankle can be described as a certain order polynomial that satisfies some constraints. To plan the trajectory of the swing ankle during SSP, three specific positions are taken into consideration. The first is the ankle position at the beginning of SSP, the second is the ankle position at the end of SSP, and the last is the ankle's highest position. Therefore, the horizontal and vertical trajectories of swing ankle are designed as respectively. Constant polynomial coefficients a i (i = 0,1,2,3) are determined by the following boundary conditions: Constant polynomial coefficients b i (i = 0, 1, . . . , 5) are determined by the following boundary conditions: where z m is the maximum height of swing ankle at time t = T m during SSP. In this research, we set z m = 0.1 m and T m = 0.5T s .

Trajectory of the Hip
Hip horizontal trajectories in DSP and SSP are designed as two third-order polynomials, respectively.
x DSP The hip trajectory should be continuous during the walking step. Therefore, the displacement and velocity of the hip at the end of DSP should be equal to those at the beginning of SSP. Furthermore, to keep ZMP continuous, the acceleration of the hip is also required to be continuous. Thus, the following continuity condition should be satisfied: where S 1 is the hip position with respect to stance ankle in the horizontal direction at the end of DSP, as shown in Figure 2.
To keep the gait repeatable, the configuration at the beginning of DSP should be identical to the one at the end of SSP and the velocity of the hip at the beginning of DSP should be the same as the one at the end of SSP. In addition, to make the motion smooth, the acceleration of the hip at the beginning of DSP should be equal to the one at the end of SSP. Therefore, the following cyclic condition should be satisfied: x SSP h (0) ..
where S 2 is the hip position with respect to stance ankle in the horizontal direction at the end of SSP, as shown in Figure 2. Constant polynomial coefficients c i and d i (i = 0, 1, . . . , 3) are determined by Equations (12) and (13), respectively.
In this paper, hip vertical motion is not our focus. Therefore, hip height keeps unchanged during walking. The trajectory of z h (t) is described as follows: where H is also a design parameter that will be determined by optimization.

TKV
In the traditional method, the torso keeps vertical during walking. Therefore, the trajectory of torso angle is

TPM
The absolute angle of the torso is the angle between the torso and the vertical direction, which is positive in the counterclockwise direction. When the biped robot walks periodically, its torso angle also makes a periodic motion. We design this torso angle trajectory as follows: its angle is θ 0 at the switching time of SSP and DSP, reaches an extreme value θ 1 at the middle time of DSP, and reaches an extreme value θ 2 at the middle time of SSP. In other words, torso angle is θ 0 at the beginning of DSP, reaches the extreme value θ 1 at the middle of DSP and then returns to the angle θ 0 at the end of DSP; the torso angle is θ 0 at the beginning of SSP, reaches the extreme value θ 2 at the middle of SSP and then returns to θ 0 at the end of SSP. According to the continuity and smoothness of torso motion, we can know that the value of θ 0 is between θ 1 and θ 2 . However, we do not know which one is bigger in θ 1 and θ 2 . θ 0 , θ 1 , and θ 2 are gait parameters that will be determined by optimization. The absolute angles of the torso are designed as two fifth-order polynomials in DSP and SSP, respectively.
At first, torso motion should be continuous and smooth in a gait step. Therefore, the following continuity conditions should be satisfied: Secondly, the following cyclic conditions should be satisfied: Lastly, the extremum conditions for DSP and SSP are the follows: The polynomial coefficient f i and g i (i = 0,1, . . . , 5) is determined by Equations (18)-(20).

Optimization Problem
In this section, an optimization problem is proposed to determine the gait parameters. Section 4.1 yields the objective function of the optimization, and Section 4.2 results in the constraints of optimization. To calculate the objective function, joint torques need to be calculated. To calculate joint torques using dynamic Equation (1), however, one should first calculate joint angles, angular velocities, and angular accelerations. Therefore, Section 4.3 introduces how to calculate the joint angles, angular velocities, and angular accelerations. Section 4.4 introduces how to calculate joint torques for DSP and SSP.

Objective Function
Energy consumption is a key criterion to evaluate the performance of the robot. The less the energy is consumed, the farther the biped robot can travel. Therefore, in this study, the optimization objective is to minimize energy consumption per unit distance of biped robots. The objective function is described as with nonlinear constraints and bounded condition as follows: where x is the vector of optimization variables.

Optimization Constraints
We use the ZMP criterion to ensure the robot's stability. The ZMP can be calculated using the following equation [8]: where m i is the mass of link-i; x i and z i are the horizontal and vertical position of CoM of link-i, respectively; I i is the inertia of link-i about its CoM; θ i is the absolute angle of link-i; and g is the gravitational constant. During the optimization process, the ZMP criterion should be satisfied. Accordingly, the optimization inequality constraints will be where l ab and l a f are the ZMP margins in the stance foot specified by users, which are not necessarily equal to the horizontal position of stance heel and toe with respect to stance ankle, respectively. In addition, the distance between hip and ankle should be less than leg length; otherwise, the angle of the knee joint cannot be solved by inverse kinematics. Therefore, the following inequality constraints should also be satisfied: where Dis 1 (t) is the distance from the hip to the ankle of the support leg and Dis 2 (t) is the distance from the hip to the ankle of the swing leg.

Angles, Angular Velocities, and Angular Accelerations
In Section 3, trajectories of hip position, torso angle, swing ankle position have been defined. Then knee angles can be calculated using inverse kinematics when the related ankle position and hip position are known. In this paper, we do not use a numerical solution method but an analytical solution method to calculate joint angles. According to the geometric relationship, one can obtain the joint angles as follows: where x 1 = x h (t), z 1 = z h (t) and k 1 = x 2 1 + z 2 1 is the virtual length of stance leg; is the virtual length of the swing leg.
Next, we introduce how to calculate angular velocity and angular acceleration. Define a vector r(t) = [x h (t); z h (t); θ(t); x a (t); z a (t)] whose components were defined in Section 3. According to the kinematic relationship, r(t) can be expressed in terms of q = [q 1 ; q 2 ; q 3 ; q 4 ; q 5 ]. Its derivative with respect to time is where J r is the Jacobian matrix and it is invertible. Therefore, angular velocity can be calculated as follows: .
Then, one can obtain angular accelerations as follows: ..

Joint Torques
After knowing the generalized coordinates, velocities, and accelerations, one can calculate the joint torques by inverse dynamic equations.
In SSP, it is quite easy to obtain the joint torques using Equation (1) because matrix B is an identity matrix in the case of chosen generalized coordinates.
In DSP, the biped robot model has three degrees of freedom and five independent actuators; therefore, it is over-actuated. For a given state and acceleration, the solutions of joint torques are not unique. Let F = [F 2x ; F 2z ] be the constraint forces compatible with constraints (2). By using the constraints (2), the joint torques and constraint forces can be derived. To this end, generalized coordinates can be divided into two parts-unconstrained coordinates q nc ∈ R 3 and constrained coordinates q c ∈ R 2 . We can denote this as where A is an invertible constant matrix that rearranges the components of vector [q nc ; q c ]. By deriving the constraint Equation (2), we can obtain where J nc ∈ R 2×3 and J c ∈ R 3×3 are submatrices of J = J DSP = J nc ; J c . With appropriate choice of q nc and q c , J c could be an invertible matrix. Thus, one can obtain where H ∈ R 5×3 is and I ∈ R 3×3 is an identity matrix.
Multiplying dynamic Equation (3) Note that Equation (35) has three equations but five unknowns τ = [τ 1 ; τ 2 ; τ 3 ; τ 4 ; τ 5 ]. Therefore, the dynamics system is over-actuated during DSP, and the solution of Equation (35) is not unique. In this study, among all solutions, we specify the solution that has the least sum of squares.
where B nc = H T B and B + nc is the pseudo-inverse matrix of B nc .

Simulation Results and Discussion
In this section, the trajectory of a five-link biped robot with SSP and DSP is simulated. The physical parameters corresponding to the five-link model are the robot prototype developed in our laboratory. The prototype is about 1.57 m high, with a total mass of 40 kg and 23 degrees of freedom. The physical parameters of the robot are listed in Table 1. For a complex nonlinear optimization problem, it is usually difficult to guarantee the solution solved is the global optimal solution. In order to get a convincing optimal solution, we first use a genetic algorithm to solve each optimization problem and get several solutions and then use the sequential quadratic program (SQP) algorithm to solve each optimization problem again with these solutions as initial values. The optimization results show that the same results are obtained by the SQP algorithm with different initial values obtained by the genetic algorithm. Therefore, the solution can be considered as the global optimal solution.

Simulation Results of TPM
The following shows the details of TPM when the step length is 0.3 m and the gait period is 1.0 s. Figure 4 shows the angle trajectory of each joint, and Figure 5 shows the angular velocity trajectory of each joint. It can be seen that the joint angle is smooth and the joint angular velocity is continuous. However, the angular velocity is not smooth when switching from DSP to SSP. This means that the angular acceleration is not continuous at this moment, because the ankle of the swing leg starts to lift at that time, and its acceleration is not continuous. Similarly, the joint angular acceleration is also discontinuous when the SSP is switched to the next DSP because the acceleration of the swing ankle is discontinuous at that moment.   Figure 6 shows the trajectories of joint torques. In DSP, because the system is overactuated, the number of independent actuators is greater than the degrees of freedom; therefore, the driving torque of the two joints is released, and only τ 2 , τ 4 , τ 5 are actuated. In SSP, we can see that the driving torque of the knee joint of the support leg is much larger than that of the other joints. It plays the role of support the whole upper body and swing leg. According to the planned gait and the dynamic equation, the ground reaction force on the robot foot can be obtained, as shown in Figure 7, where [F 1x ; F 1z ] is the ground reaction force (GRF) on support foot, [F 2x ; F 2z ] is the GRF on swing foot. It is observed from Figure 7 that (1) Figure 9 shows the stick diagram of the five-link robot walking on the horizontal ground, in which the dashed line represents the DSP, and the solid line represents the SSP. From the stick diagram, we can observe the overall movement of the biped robot, i.e., that the posture at the end of each step is the same as that at the beginning of each step. Generally, the gait pattern designed by the proposed method is simple and easy to implement. Although the contact constraint between the ground and the foot is not considered in the gait generation, the simulation results verify that the friction force is very small relative to the support force during walking. Therefore, the biped robot can walk without sliding even if the friction coefficient between the foot and the ground is small.

Comparison of TPM and TKV on Energy Consumption
On the one hand, to study the relationship between gait period and walking efficiency, we fix the step length and change the gait period. In this research, we specify a fixed step length L = 0.3 m, and gait period changes from 0.7 s to 1.2 s. Figure 10 shows the energy consumption in this case. From simulation results, we can obtain the following observations: (1) The energy consumption per unit distance of TPM is less than that of TKV. When the step length is 0.3 m and the gait period changes from 0.7 s to 1.2 s, the energy consumption per unit distance of TPM is about 12.14% less than that of TKV on average; (2) The optimal period of TKV is 0.85-0.95 s, while that of TPM is 0.9-1.1 s. The effect of the period change of TPM on energy consumption is smaller than that of TKV, except for 0.7 s and 0.75 s.
On the other hand, to study the relationship between step length and energy consumption, we fix the gait period and changed step length. In this research, we specify a fixed period of T c = 1.0 s, and step length changes from 0.2 m to 0.4 m. Figure 11 shows the energy consumption in this case. From simulation results, we can obtain the following observations: (1) The energy consumption per unit distance of TPM is less than that of TKV. When the gait period is 1.0 s and step length changes from 0.2 m to 0.4 m, the energy consumption per unit distance of TPM is about 12.61% less than that of TKV on average; (2) With the increase of step length, the energy consumption per unit distance of both gait patterns increases. This is consistent with our intuition. When humans walk in larger stride, they are more likely to feel tired. Figure 12 shows the change of torso angle parameters when the step length remains 0.3 m and the gait period changes from 0.7 s to 1.2 s. We can derive that θ 1 is always less than θ 2 . It shows that there is a trend of leaning forward in DSP and leaning backward in SSP. With the increase of the gait period, the amplitude of the torso pitch motion increases. In addition, the three angle parameters are all positive. This is contrary to the intuition that the torso should lean forward. The reason may be to meet the requirements of ZMP stability.  Figure 13 shows the change of torso angle parameters when the gait period remains 1.0s and the step length changes from 0.2 m to 0.4 m. We can derive that θ 1 is always less than θ 2 . It also shows that there is a trend of leaning forward in DSP and leaning backward in SSP. With the increase of the step length, the amplitude of the torso pitch motion increases. When the step length is greater than or equal to 0.36 m, the parameter θ 1 is negative.

Energy Consumption of Each Joint
From the above discussion, we have observed that the total energy consumption per unit distance of TPM is less than that of TKV. However, we do not obtain any information on the energy consumption of each joint actuator. To this end, we illustrate energy consumption of each joint for two gait patterns with T c = 1.0 s and L = 0.3 m, as shown in Figure 14. Energy consumptions of support ankle joint and support hip joint of TPM are basically the same as these of TKV. Energy consumptions of the support knee joint and swing hip joint of TPM are a little more than these of TKV. However, the energy consumption of the swing knee joint of TPM is much less than that of TKV. The energy consumption of the swing knee joint is mainly in DSP (see Figure 6). In DSP, the trailing leg (swing leg) pushes the ground to compensate for the energy loss of the previous swing foot landing. As a result, torso pitch motion can reduce the push force of the trailing leg during DSP. This view can also be seen in Figure 15, which shows the ground reaction on the trailing leg for TKV and TPM during DSP. It is observed that the vertical force of TPM is obviously less than that of TKV.

Conclusions
In this paper, a gait pattern generation method of biped robots with torso pitch motion is proposed to study the influence of torso motion on the walking efficiency of biped robots.
The cyclic gait of a five-link biped robot is designed. The trajectories of the hip joint and swing ankle are defined as polynomials. The trajectory of torso angle is also defined as polynomials. The total energy consumption of all joint actuators per unit distance of the robot is chosen as the optimization objective. In addition, a genetic algorithm is used to optimize the gait parameters.
Firstly, a valid walking gait with torso pitch motion can be generated according to our proposed method. As shown in Section 5.1, walking stability is satisfied and ground reaction forces satisfy the unilateral constraints and no-sliding constraints. Secondly, to compare the walking efficiency of TPM and TKV, we generate the optimal gaits with various gait periods and step lengths. According to the optimization results shown in Section 5.2, TPM saves more than 12% energy on average compared with TKV. Thirdly, torso angle parameters are also studied according to optimal gait in Section 5.3. Although the parameters related to the torso motion with different gait periods and step lengths are various, the overall trend is that torso leans forward during DSP and leans backward during SSP. Lastly, in order to analyze the reason that TPM saves energy than TKV, we compare the energy consumption of each joint of TPM and TKV in Section 5.4. It is observed that the main factor of energy-saving in TPM compared with TKV is the reduction of energy consumption of the swing knee during DSP. This is because TPM can reduce the push force of the trailing leg during DSP.
In this research, we designed a gait generation method with TPM that can save more energy than TKV. However, the trajectory of the torso angle we designed is only one of all possible trajectories. There may be a better trajectory for torso angle. This will be the content of our future research.

Data Availability Statement:
No new data were created or analyzed in this study. Data sharing is not applicable to this article.