Energy-Efficient Hip Joint Offsets in Humanoid Robot via Taguchi Method and Bio-inspired Analysis

Although previous research has improved the energy efficiency of humanoid robots to increase mobility, no study has considered the offset between hip joints to this end. Here, we optimized the offsets of hip joints in humanoid robots via the Taguchi method to maximize energy efficiency. During optimization, the offsets between hip joints were selected as control factors, and the sum of the root-mean-square power consumption from three actuated hip joints was set as the objective function. We analyzed the power consumption of a humanoid robot model implemented in physics simulation software. As the Taguchi method was originally devised for robust optimization, we selected turning, forward, backward, and sideways walking motions as noise factors. Through two optimization stages, we obtained near-optimal results for the humanoid hip joint offsets. We validated the results by comparing the root-mean-square (RMS) power consumption of the original and optimized humanoid models, finding that the RMS power consumption was reduced by more than 25% in the target motions. We explored the reason for the reduction of power consumption through bio-inspired analysis from human gait mechanics. As the distance between the left and right hip joints in the frontal plane became narrower, the amplitude of the sway motion of the upper body was reduced. We found that the reduced sway motion of the upper body of the optimized joint configuration was effective in improving energy efficiency, similar to the influence of the pathway of the body’s center of gravity (COG) on human walking efficiency.


Introduction
As quality of life improves, the demand for humanoid robots to help or replace humans in various activities is increasing. However, the mobility of humanoid robots is limited by their main power source, batteries, which have limited available power. To improve the performance of humanoid robots, energy efficiency must be increased to provide longer operation periods or enable the use of lighter and smaller batteries.
Several studies have aimed to improve energy efficiency by reducing power consumption in the actuators of humanoid robots. Zorjan et al. [1] observed that the rotation of the hip joint from its original orientation improves energy efficiency by reducing and distributing the joint's mechanical power in the hip joints. Lee et al. [2] proposed a biarticular design for humanoid robot legs using a redundantly actuated parallel mechanism to improve energy efficiency. Negrello et al. [3] designed a four-bar linkage for knee and ankle joints, thus decreasing the mass and moment of inertia of the lower body to enhance energy efficiency. Tsagarakis et al. [4] studied an asymmetric compliant antagonistic joint design to improve performance mobility, which is closely related to energy efficiency.
Although previous research has improved the energy efficiency of humanoid robots, no study has considered the offset between hip joints to this end. This offset is the gap between adjacent joints along a coordinate axis (e.g., a roll-yaw-pitch hip joint, where the offset is represented by each gap between the roll and yaw joint and between the yaw and pitch joint along the X, Y, and Z axes). Mechanically, it is difficult to overlap multiple joints at a single intersection point and, therefore, the effect of joint offset on the humanoid robot should be investigated.
In this study, we optimized the hip joint offset in a humanoid robot to improve energy efficiency by reducing consumption at the actuating joints. Optimization considered bipedal locomotion, which is representative of humanoid robots, by including turning, forward, backward, and sideways walking motions. We analyzed the mechanical power consumption of the actuated hip joints using a humanoid model, implemented in physics simulation software (MuJoCo, Roboti, Seattle, DC, USA) for energy optimization. Specifically, the objective function was the root-mean-square (RMS) mechanical power consumption from the actuated hip joints.
The complex dynamics of multi-joint humanoid robot legs hinder the ability of investigations of the joint offset effect to obtain, for instance, an analytical solution. Therefore, it is more appropriate to use numerical optimization for this study. However, it becomes impractical, given the time-consuming generation of many complex simulation models of humanoid robot legs with different joint offset configurations.
To minimize the time-consuming efforts of numerical optimization, we implemented the Taguchi method, which is an experimental approach for the robust, optimal design of products under various conditions. As the method conducts optimization based on an orthogonal array, it can minimize the number of simulation models required, thus reducing the optimization execution time. For the Taguchi method, we set the joint offsets as control factors and the four abovementioned types of motions as noise factors.

Implementation of the Taguchi Method
The Taguchi method is an experimental optimization method, aiming to improve the quality of products in various conditions [5][6][7][8]. In addition, the experimental volume of the Taguchi method is minimized by designing experiments with an orthogonal array, unlike traditional factorial design. In this study, the Taguchi method enabled a robust hip joint offset design that can stabilize the performance of humanoid robots under variable motions, with a lower number of trials than other numerical optimization methods.
The Taguchi method considers two types of variables, namely control and noise factors. Experiments for each factor were designed by applying the corresponding orthogonal array, with the array for control factors being the inner array and that for noise factors being the outer array. The inner and outer array combination constituted the crossed array, which established orthogonality among the individual arrays. Each inner array sample was tested for a full set of experiments from the outer array. Hence, the orthogonal array allowed the exploration of the most influential factors with a small experiment volume. To evaluate optimization, we adopted the signal-to-noise ratio (SNR), whose calculation depends on the objective function value.

Objective Function
We defined the objective function as the sum of RMS power consumption from the right hip joint: where Pow rms is the sum of the RMS power consumption and R rms , Y rms , and P rms represent the RMS power consumption at the roll, yaw, and pitch joints, respectively. R i , Y i , and P i represent the power consumption of the ith sample at the roll, yaw, and pitch joints, respectively, and n T is the number of samples until time T.

Control and Noise Factors
In the Taguchi method, control factors are design parameters that can be adjusted during optimization. Noise factors can have several meanings, but they typically refer to the operating conditions of the target system. Hence, both control and noise factors influence the value of the objective function. We defined the joint offsets within the hip as control factors and the humanoid motion types as noise factors. More details about these parameters are provided in Section 3.

SNR Calculations
The criteria for the Taguchi method are classified as smaller-the-better, larger-the-better, and nominal-the-best, according to their characteristics. We used the smaller-the-better variant, given the objective of minimizing power consumption at the humanoid hip. According to the smaller-the-better definition, we calculated the SNR for the Taguchi method using the objective function value of each trial: where Pow rms_for , Pow rms_back , Pow rms_side , and Pow rms_turn are the calculated Pow rms values from the forward, backward, and sideways walking, as well as turning motions. In the smaller-the-better case, the higher SNR represents better results for optimization.

Orthogonal Array of Experiment Set
We prepared two experimental sets for optimization. The orthogonal array of each set was selected according to the number and level of control factors. The first experimental set consisted of an L 18 (2 1 × 3 7 ) orthogonal array for eight control factors. The second experimental set did not need to include the optimized control factors provided by the first experimental set. Thus, six control factors with small SNR variations were omitted from the second experimental set, which consisted of an L 9 (3 3 ) orthogonal array for the three remaining control factors.

Detailed Procedure of the Taguchi Method
Since the Taguchi Method is not a commonly implemented optimization method, we summarized the detailed procedure for performing the Taguchi Method for better understanding: 1. Set the objective function and design parameters for optimization; 2. Classify the design parameters into control factors and noise factors; 3. Select the SNR calculation formula based on the characteristics of the objective function; 4. Determine the design levels for the control factors; 5. Select an appropriate orthogonal array for the experiment set; 6. Perform experiments according to the experiment set; 7. Analyze experimental data and derive optimized results using the SNR calculation formula; 8. If the optimized result is not sufficient, design a new experiment set for additional experiments; 9. Eliminate less influential control factors in additional experiments to simplify the experiment sets.

Humanoid Kinematics
The humanoid robot used for simulation was designed to have a similar size to a young man. We selected the length and mass of each segment and the size of the humanoid robot by referring to the average body size of Koreans aged 16 to 19 [9]. Other kinematic parameters for the detailed design of the humanoid robot were based on the MAHRU humanoid robot, previously developed in our institute [10]. The robot had 22 degrees of freedom, weighed 57 kg, and had a height of 1.216 m and shoulder width of 0.5 m. The humanoid robot structure is detailed in Figure 1. Its thigh length and weight were 0.4 m and 5.5 kg, respectively, whereas its calf length and weight were 0.3 m and 3.5 kg, respectively, and its ankle length and weight were 0.07 m and 0.25 kg, respectively. Each foot was 0.026 m in height, 0.25 m in length, 0.1 m in width, and 0.75 kg in weight.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 4 of 12 of the humanoid robot were based on the MAHRU humanoid robot, previously developed in our institute [10]. The robot had 22 degrees of freedom, weighed 57 kg, and had a height of 1.216 m and shoulder width of 0.5 m. The humanoid robot structure is detailed in Figure 1. Its thigh length and weight were 0.4 m and 5.5 kg, respectively, whereas its calf length and weight were 0.3 m and 3.5 kg, respectively, and its ankle length and weight were 0.07 m and 0.25 kg, respectively. Each foot was 0.026 m in height, 0.25 m in length, 0.1 m in width, and 0.75 kg in weight.
Although the original width between the left and right foot was 0.22 m, we varied it in each test model, depending on the selected offset in the hip joint along the Y axis. For example, a test model with a 0.03 m offset was designed with a width of 0.28 m between the feet.

Control Factors: Joint Offsets
We set the offsets among the three joints (roll, yaw, and pitch) in the humanoid robot hip as control factors. The hip joint used for simulation was composed in the sequence of roll, yaw, and pitch joints. The offset between the torso and roll joints along the X and Y axes was selected as a parameter because this joint did not have a preceding offset. The offset between the torso and roll joints along the Z axis was fixed and disregarded as a parameter because it changed the humanoid leg length.
For the roll-yaw joint and yaw-pitch joint, all offsets along the X, Y, and Z axes were selected. The offsets along the Z axis were negative because it was challenging to place a following joint higher than the preceding joint in practical mechanisms. The offsets at the joints that serve as parameters are detailed in Figure 1 (right graph), with each offset being denoted by the letter of the following joint and offset direction. For example, the offset between the torso and roll joints along the Y axis is denoted by Ry, and the offset between the yaw and pitch joints along the Z axis is denoted by Pz.

Noise Factors: Humanoid Motions
We set turning, forward, backward, and sideways walking motions as noise factors. As forward and backward are the most basic humanoid robot motions, they were selected as target motions. Moreover, turning and sideways walking were selected, given their distinctiveness compared with Although the original width between the left and right foot was 0.22 m, we varied it in each test model, depending on the selected offset in the hip joint along the Y axis. For example, a test model with a 0.03 m offset was designed with a width of 0.28 m between the feet.

Control Factors: Joint Offsets
We set the offsets among the three joints (roll, yaw, and pitch) in the humanoid robot hip as control factors. The hip joint used for simulation was composed in the sequence of roll, yaw, and pitch joints. The offset between the torso and roll joints along the X and Y axes was selected as a parameter because this joint did not have a preceding offset. The offset between the torso and roll joints along the Z axis was fixed and disregarded as a parameter because it changed the humanoid leg length.
For the roll-yaw joint and yaw-pitch joint, all offsets along the X, Y, and Z axes were selected. The offsets along the Z axis were negative because it was challenging to place a following joint higher than the preceding joint in practical mechanisms. The offsets at the joints that serve as parameters are detailed in Figure 1 (right graph), with each offset being denoted by the letter of the following joint and offset direction. For example, the offset between the torso and roll joints along the Y axis is denoted by R y , and the offset between the yaw and pitch joints along the Z axis is denoted by P z .

Noise Factors: Humanoid Motions
We set turning, forward, backward, and sideways walking motions as noise factors. As forward and backward are the most basic humanoid robot motions, they were selected as target motions. Moreover, turning and sideways walking were selected, given their distinctiveness compared with forward and backward motions, despite their lower occurrence frequencies. The walking patterns were generated by using the zero-moment point (ZMP) controller designed for the MAHRU humanoid robot [10].
For fair comparison during the optimization process, we set the movement pattern of each model's feet to be the same. We fixed the following parameters related to feet motion generation as constant values: • Step length: 200 mm for forward and backward walking and 100 mm for sideways walking; The amplitude of the center-of-mass for generating the ZMP trajectory was set as a constant value of 650 mm.

Forward and Backward Walking
Forward and backward walking were set identically in the experiments because they occurred along the same axis. The humanoid only moved backward and forward while these motions were executed. During walking, the left foot moved first, and each foot completed three steps in the forward or backward direction. Hence, the humanoid robot moved 1 m in either direction, as shown in Figure 2.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 5 of 12 forward and backward motions, despite their lower occurrence frequencies. The walking patterns were generated by using the zero-moment point (ZMP) controller designed for the MAHRU humanoid robot [10]. For fair comparison during the optimization process, we set the movement pattern of each model's feet to be the same. We fixed the following parameters related to feet motion generation as constant values: • Step length: 200 mm for forward and backward walking and 100 mm for sideways walking; The amplitude of the center-of-mass for generating the ZMP trajectory was set as a constant value of 650 mm.

Forward and Backward Walking
Forward and backward walking were set identically in the experiments because they occurred along the same axis. The humanoid only moved backward and forward while these motions were executed. During walking, the left foot moved first, and each foot completed three steps in the forward or backward direction. Hence, the humanoid robot moved 1 m in either direction, as shown in Figure 2.

Sideways Walking
Sideways walking is a perpendicular motion, with respect to forward and backward walking, without rotating the humanoid robot body. Starting with the left foot, each one completed three steps. Thus, the humanoid robot moved 300 mm to the left after sideways walking, which proceeded as shown in Figure 3.

Turning
Unlike the previous motions, turning changes only the orientation of the body at a fixed position. The turning angle was set to 20° for the first experimental set and 15° for the second one, being smaller because the corresponding test model for the second stage had a smaller supporting polygon, leading to instability at larger angles. The supporting polygon is further explained in the corresponding discussion in Section 6. Starting with the left foot, the humanoid turned three times per trial, reaching overall turning angles of 60° and 45° for the first and second experimental sets, respectively. Figure  4 illustrates the turning motion.

Sideways Walking
Sideways walking is a perpendicular motion, with respect to forward and backward walking, without rotating the humanoid robot body. Starting with the left foot, each one completed three steps. Thus, the humanoid robot moved 300 mm to the left after sideways walking, which proceeded as shown in Figure 3.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 5 of 12 forward and backward motions, despite their lower occurrence frequencies. The walking patterns were generated by using the zero-moment point (ZMP) controller designed for the MAHRU humanoid robot [10]. For fair comparison during the optimization process, we set the movement pattern of each model's feet to be the same. We fixed the following parameters related to feet motion generation as constant values: • Step length: 200 mm for forward and backward walking and 100 mm for sideways walking; The amplitude of the center-of-mass for generating the ZMP trajectory was set as a constant value of 650 mm.

Forward and Backward Walking
Forward and backward walking were set identically in the experiments because they occurred along the same axis. The humanoid only moved backward and forward while these motions were executed. During walking, the left foot moved first, and each foot completed three steps in the forward or backward direction. Hence, the humanoid robot moved 1 m in either direction, as shown in Figure 2.

Sideways Walking
Sideways walking is a perpendicular motion, with respect to forward and backward walking, without rotating the humanoid robot body. Starting with the left foot, each one completed three steps. Thus, the humanoid robot moved 300 mm to the left after sideways walking, which proceeded as shown in Figure 3.

Turning
Unlike the previous motions, turning changes only the orientation of the body at a fixed position. The turning angle was set to 20° for the first experimental set and 15° for the second one, being smaller because the corresponding test model for the second stage had a smaller supporting polygon, leading to instability at larger angles. The supporting polygon is further explained in the corresponding discussion in Section 6. Starting with the left foot, the humanoid turned three times per trial, reaching overall turning angles of 60° and 45° for the first and second experimental sets, respectively. Figure  4 illustrates the turning motion.

Turning
Unlike the previous motions, turning changes only the orientation of the body at a fixed position. The turning angle was set to 20 • for the first experimental set and 15 • for the second one, being smaller because the corresponding test model for the second stage had a smaller supporting polygon, leading to instability at larger angles. The supporting polygon is further explained in the corresponding discussion in Section 6. Starting with the left foot, the humanoid turned three times per trial, reaching overall turning angles of 60 • and 45 • for the first and second experimental sets, respectively. Figure 4 illustrates the turning motion.

First Experimental Set
The first experimental set consisted of 18 trials, according to the L18 (2 1 × 3 7 ) orthogonal array. Tables 1 and 2 list the parameter levels and results per trial according to these levels, respectively. As shown in Table 2, the SNR of the first test model was the highest at -23.923 when all control factor levels were 1. In contrast, the SNR of the third test model was the lowest. A higher SNR indicates that the objective function reached closer to the optimal value. Figure 5 shows the SNR of each factor according to its level. The highest SNR was achieved at the level of Pz = 2, Rx = 2, Ry = 1, Yx = 3, Yy = 1, Yz = 2, Px = 1, and Py = 1, and the factors with high sensitivities were Ry, Yy, and Py, with respective SNR variations of 1.90, 1.05, and 0.74. Factors with SNR variations below 0.3 were considered as insensitive.

First Experimental Set
The first experimental set consisted of 18 trials, according to the L 18 (2 1 × 3 7 ) orthogonal array. Tables 1 and 2 list the parameter levels and results per trial according to these levels, respectively. As shown in Table 2, the SNR of the first test model was the highest at -23.923 when all control factor levels were 1. In contrast, the SNR of the third test model was the lowest. A higher SNR indicates that the objective function reached closer to the optimal value. Figure 5 shows the SNR of each factor according to its level. The highest SNR was achieved at the level of P z = 2, R x = 2, R y = 1, Y x = 3, Y y = 1, Y z = 2, P x = 1, and P y = 1, and the factors with high sensitivities were R y , Y y , and P y , with respective SNR variations of 1.90, 1.05, and 0.74. Factors with SNR variations below 0.3 were considered as insensitive.

First Experimental Set
The first experimental set consisted of 18 trials, according to the L18 (2 1 × 3 7 ) orthogonal array. Tables 1 and 2 list the parameter levels and results per trial according to these levels, respectively. As shown in Table 2, the SNR of the first test model was the highest at -23.923 when all control factor levels were 1. In contrast, the SNR of the third test model was the lowest. A higher SNR indicates that the objective function reached closer to the optimal value. Figure 5 shows the SNR of each factor according to its level. The highest SNR was achieved at the level of Pz = 2, Rx = 2, Ry = 1, Yx = 3, Yy = 1, Yz = 2, Px = 1, and Py = 1, and the factors with high sensitivities were Ry, Yy, and Py, with respective SNR variations of 1.90, 1.05, and 0.74. Factors with SNR variations below 0.3 were considered as insensitive.

Level
Control Factor (mm)

Second Experimental Set
As the optimal points do not appear in the SNR graph of Figure 5, we considered only the three highly sensitive factors (R y , Y y , and P y ) for the second experimental set. The kinematics of the humanoid model for the second experimental set were designed using the optimal result from the first experimental set. Specifically, the value of each factor, including insensitive ones, was set to that retrieving the highest SNR in the first experimental set.
The second experimental set consisted of nine trials, according to the L 9 (3 3 ) orthogonal array, with three factors. Tables 3 and 4 list the parameter levels and results per trial according to these levels, respectively. The SNR was calculated as in the first experiment, obtaining the highest SNR at the ninth trial of -22.614 for the level of R y = 3, Y y = 3, and P y = 2. Table 3. Levels of control factors for the second experimental set.

Level.
Control Factor (mm) R y Y y P y The SNRs, according to the level of each control factor in the second experimental set, are shown in Figure 6. The highest SNR was obtained when the three factors were at level 3, with R y being the most sensitive factor with an SNR variation of 0.49 across all levels. The SNR variation for both Y y and P y was 0.25, with their sensitivities being lower than that of R y . Although the results did not reach the optimal solution, we ended the optimization because of the limited range of feasible joint offsets.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 9 of 12 Figure 6. SNRs of three sensitive parameters during the second experiment. The most influential factor is Ry, highlighted in red.

Validation of Optimal Hip Joint Offsets
The near-optimal offsets of hip joints that minimize power consumption were obtained from the two experimental sets. Using the optimized model, we verified that power consumption was indeed reduced for various humanoid robot motions. The optimal values of the parameters are listed in Table  5, and Figure 7 shows the joint configuration and structure of the model after optimization in the Figure 6. SNRs of three sensitive parameters during the second experiment. The most influential factor is R y , highlighted in red.

Validation of Optimal Hip Joint Offsets
The near-optimal offsets of hip joints that minimize power consumption were obtained from the two experimental sets. Using the optimized model, we verified that power consumption was indeed reduced for various humanoid robot motions. The optimal values of the parameters are listed in Table 5, and Figure 7 shows the joint configuration and structure of the model after optimization in the second experimental set. Table 5. Parameter values of the model after the second optimization. Figure 6. SNRs of three sensitive parameters during the second experiment. The most influential factor is Ry, highlighted in red.

Validation of Optimal Hip Joint Offsets
The near-optimal offsets of hip joints that minimize power consumption were obtained from the two experimental sets. Using the optimized model, we verified that power consumption was indeed reduced for various humanoid robot motions. The optimal values of the parameters are listed in Table  5, and Figure 7 shows the joint configuration and structure of the model after optimization in the second experimental set. Table 5. Parameter values of the model after the second optimization.

Parameter
Pz  Table 6 lists the power consumption in the hip, using the original model and the optimized models after the first and second experiments for forward and backward walking. For forward walking, the RMS power at the hip joint reduced by 18.07% and 26.92% for the models after the first  Table 6 lists the power consumption in the hip, using the original model and the optimized models after the first and second experiments for forward and backward walking. For forward walking, the RMS power at the hip joint reduced by 18.07% and 26.92% for the models after the first and second optimizations, respectively, compared with the original model. For backward walking, the corresponding reductions were 17.26% and 25.68%.  Table 6 lists the power consumption in the hip joint for sideways walking. Compared to the original model, consumption decreased by 29.78% and 37.76% for the models after the first and second optimization, respectively. Like for forward and backward walking, power consumption gradually reduced from the original model to the models after the first and second optimizations.

Turning
The power consumption for turning using the original and optimized models is listed in Table 6. Note that the rotation angle for turning in the humanoid models was set to 15 • equally. Like in the previous motions, consumption reduced in the hip joint, in this case by 21.81% and 30.09% for the models after the first and second optimization, respectively.

Discussion
We investigated the optimization for reducing power consumption at the hip of a humanoid robot via the Taguchi method. The two-stage optimization achieved a larger reduction in consumption than that obtained using only one stage. Power consumption at the hip was mainly influenced by the Y axis offset. Therefore, the closer the sides of the hip joint, the lower the energy consumption. The sum of RMS power consumption from the right hip joint (Pow rms ) over time during the motions is shown in Figure A1 and supplementary materials.
Humanoid robots implement zero-moment point walking to keep the point position inside the supporting polygon and thus stabilize the robot's walking. The supporting polygon is a convex hull containing the contact points between the feet and ground. If both feet are close due to the hip joints being close, the supporting polygon becomes narrower. During single-leg support, the robot sways its upper body from side to side to place the zero-moment point inside the supporting polygon. Consequently, placing the hip joints closer reduces the area to move the zero-moment point to keep it within the supporting polygon while switching from double-to single-leg support. Then, the moment acting on the roll joint is decreased by the smaller moment arm of the upper body, related to the roll joint. Therefore, joint offsets along the Y axis are advantageous to improving energy efficiency by reducing power consumption in the roll joint, as both hip joints are close.
We explored the reason for the reduction of power consumption through bio-inspired analysis from human gait mechanics. The finding in this study is similar to the influence of the body's center of gravity (COG) pathway on human walking efficiency. Minimizing the body's COG, displaced from a level line of progression, is considered to be a major mechanism for reducing the muscular effort of walking and, consequently, for saving energy. The least energy would be used if the weight being carried remained at a constant height and followed a single central path. No additional lifting effort would then be needed to recover from the intermittent falls downward or laterally [11].
As an additional analysis, we compared the maximum required torque at the joint after optimization. The reduction of actuating torque is an important issue for reducing the weight of the actuators. Except for the pitch joint during the turning motion, all maximum torques generated at each joint were reduced by a minimum of 0.95% and a maximum of 44.67%. Before the optimization, the maximum torque of all joints was generated at a value of 70.91 Nm at the roll joint during the sideways walking motion. Through the optimization, this value was reduced to 59.15 Nm, which was also the maximum torque for the optimized model.
Although we obtained valuable insights on offset design, some limitations of this study remain to be addressed. We considered only mechanical power to represent power consumption, because it is impossible to calculate the electrical power dissipated in the actuator before selecting the motor and other electronic components. In addition, although the negative mechanical power can be restored using a regeneration system, we neglected this aspect because humanoid robots typically do not implement a regeneration system. We expect to use the findings in this study to design an improved humanoid robot. By improving energy efficiency, the operating time of humanoid robots can be extended. As for future work, we plan to verify energy efficiency optimization while a humanoid robot performs various tasks. Moreover, we intend to extend joint offset optimization to include knee and ankle joints.
Supplementary Materials: The following are available online at http://www.mdpi.com/2076-3417/10/20/7287/s1. Video S1: The sum of RMS power consumption from the right hip joint of the original, first, and second optimized humanoid robot at the hip joint during the target motions.