<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Robot. AI</journal-id>
<journal-title>Frontiers in Robotics and AI</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Robot. AI</abbrev-journal-title>
<issn pub-type="epub">2296-9144</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">757630</article-id>
<article-id pub-id-type="doi">10.3389/frobt.2022.757630</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Robotics and AI</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Identification of Human Walking Balance Controller Based on COM-ZMP Model of Humanoid Robot</article-title>
<alt-title alt-title-type="left-running-head">Yoshikawa</alt-title>
<alt-title alt-title-type="right-running-head">Human Walking Balance Control Modeling</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Yoshikawa</surname>
<given-names>Taizo</given-names>
</name>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1157046/overview"/>
</contrib>
</contrib-group>
<aff>
<institution>Honda R&#x26;D Co.</institution>, <institution>Ltd.</institution>, <addr-line>Wako</addr-line>, <country>Japan</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/134237/overview">Dong W. Kim</ext-link>, Inha Technical College, South Korea</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1227490/overview">Mario Arbulu</ext-link>, National Open and Distance University, Colombia</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1266217/overview">Ayonga Hereid</ext-link>, The Ohio State University, United&#x20;States</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Taizo Yoshikawa, <email>taizoy@alumni.stanford.edu</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Humanoid Robotics, a section of the journal Frontiers in Robotics and&#x20;AI</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>24</day>
<month>02</month>
<year>2022</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>9</volume>
<elocation-id>757630</elocation-id>
<history>
<date date-type="received">
<day>12</day>
<month>08</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>20</day>
<month>01</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2022 Yoshikawa.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Yoshikawa</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these&#x20;terms.</p>
</license>
</permissions>
<abstract>
<p>The purpose of this research is to build a technology that enables wearable robotic systems that support human movement to maintain stable balance. By expanding our knowledge of conventional human gait analysis technology and robotics technology, we will build a technology that can estimate the state of human balance. In order to build a technology for estimating the human balance state based on the balance control technology of humanoid robots, we conducted joint research with Osaka University. We applied our knowledge of humanoid robot control to human stepping and braking motions, and confirmed the effectiveness of the balance control model using data measured by a motion capture system and a floor reaction force sensor system. In order to build a technology for estimating the human balance state based on the balance control technology of humanoid robots, we conducted joint research with Osaka University. We applied our knowledge of humanoid robot control to human stepping and braking motions to build a human balance control model. We confirmed the effectiveness of the balance control model using data measured by a motion capture system and a floor reaction force sensor system. In order to understand the state of human walking, the human walking motion was measured by motion capture and analyzed in detail. Following the norms of gait analysis techniques, we extended the balance control model of human foot-stepping and braking motions to a gait model that includes continuous straight-line walking and change of direction during walking. The effectiveness of the constructed balance control model was confirmed using a motion capture system and a floor reaction force sensor system.</p>
</abstract>
<kwd-group>
<kwd>walk assist device</kwd>
<kwd>balance control modeling of human</kwd>
<kwd>balance control of humanoid</kwd>
<kwd>COM-ZMP model</kwd>
<kwd>gait analysis</kwd>
<kwd>inverted pendulum</kwd>
<kwd>gait phase analysis</kwd>
<kwd>human movement analysis</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>Background</title>
<p>Japan&#x2019;s labor force is expected to decline year by year due to the aging population, declining population, and declining birthrate. According to a report by the Ministry of Health and Welfare, the number of employees was 62.7 million in 2012, but it is expected to be 60 million if economic growth and labor participation do not proceed properly in the future. In addition, simulations predict that the number of employees will decrease to 54.49 million in 2030. It is said that the declining birthrate and aging population will progress when one of the 2.5 people nationwide becomes an elderly person aged 65 or over in 2060. Considering this situation, it is important for companies to take a new approach to utilizing human resources in the future. In order to counter the declining workforce, it is necessary not only to increase the proportion of foreigners, but also to allow more women, the elderly and people with disabilities to participate in physically demanding jobs. In order to utilize diverse human resources, it is necessary to create an environment where employees can work comfortably and achieve results. In order to improve work efficiency and safety, it is necessary to actively complement exercise work in a production environment. It is necessary to evaluate the workload of standard ergonomic work, reduce high-load posture work, improve the process, and place it in the optimal process that matches the capabilities of the operator. In recent years, analysis based on kinematics models and musculoskeletal models based on robot technology is applied and has been incorporated. Physiological and psychological models are being incorporated into workloads as needed to perform ergonomic workload assessments. With the progress of computerization and the spread of new technologies such as AI and robotics, it has become possible to replace tasks that were difficult to mechanize with machines and systems. In order to build various production systems, the introduction of robot technology that physically supports the movement of workers in various specialized fields is attracting attention.</p>
<p>Research in robotics has drawn many ideas by capturing and imitating humans as a system. Human-mimicking approaches have been applied in the design of manipulators, sensors, actuators, etc., coordinated movements of the whole-body, complex tasks, and the realization of advanced action plans for interacting with the external environment and humans. Humanoid robots are thought to be able to support our daily life, social activities, and labor work in the same environment as humans, without significantly changing these environments. If it is a humanoid robot that has the same physique as a human and can move in the same way, tools and vehicles for human use can be used as they are. Humanoid robots are expected to be used in various situations such as assistance in our daily lives, assistance in the field of nursing care, production activities, and disaster support. In anticipation of such needs, various robots such as Waseda University&#x2019;s &#x201c;WABOT&#x201d;, Honda&#x2019;s &#x201c;ASIMO&#x201d;, Sony&#x2019;s &#x201c;QRIO&#x201d;, Fujitsu&#x2019;s &#x201c;HOAP&#x201d;, and &#x201c;HRP&#x201d; series of AIST developed by Kawata Robotics, have been made. Boston Dynamics of the United&#x20;States is developing a quadruped walking robot &#x201c;SPOT&#x201d; and a humanoid robot &#x201c;Atlas&#x201d; with the support of DARPA (Defense Advanced Research Projects Agency). Toyota announces the full-body remote control robot T-HR3. The development of an avatar (alternate) robot is underway in which a humanoid robot performs the same movement by measuring and transmitting the movement and torque of a driver equipped with a skeletal control system.</p>
<p>Today, the methodologies developed and used in the field of robotics (<xref ref-type="fig" rid="F1">Figure&#x20;1</xref>) are mature enough to address research agendas in many other areas, from neuroscience to computer animation. Techniques are attracting attention for using robotics techniques and control theory to gain basic insights into the natural movements of humans and to understand the mechanisms that lead to improved quality of treatment and rehabilitation. If technology in the robot domain is introduced in addition to the conventional human analysis technology, it will be possible to estimate and analyze the internal state during human movement. In addition, by introducing simulation technology, it will be possible to estimate and analyze the internal state of muscles and skeletons. For example, it has been difficult to estimate the internal state and balance state of the musculoskeletal level when a person is walking, but it is considered that it will be possible by introducing the technology constructed in the robot domain.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Robotics technology for motion assist and motion analysis.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g001.tif"/>
</fig>
<p>Conventionally, robot technology that assists human movements has focused on the function of supporting weight and reducing the load, and the function of recovering movements by assisting movements such as walking, and various devices have been developed (<xref ref-type="fig" rid="F2">Figure&#x20;2</xref>). On the other hand, when the wearer wears the assist device and operates, the balance is not assisted in most cases. Therefore, the balance may be lost during operation, which is not a safe condition for the wearer. Further, even if there is a function of simply assisting the balance, if the balance state of the wearer cannot be estimated accurately, a mismatch with the balance of the wearer will occur, and the system will not be safe for the wearer. In order to compensate the wearer&#x2019;s balance in the assist device, it is necessary to constantly estimate the wearer&#x2019;s balance state. At the same time, it is important to predict the short-term future condition and recover to the optimum balance condition before the balance condition becomes unstable. In this study, we construct a balance control model for predicting short-term future states, and a balance observer that enables us to estimate and predict balance states based on the deviation between the predicted balance state and the continuously estimated balance state. In this paper, we discuss the construction of a balance control&#x20;model.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Category of motion assist and motion technology.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g002.tif"/>
</fig>
</sec>
<sec id="s2">
<title>Human Gait Understanding</title>
<p>Traditionally, improvement of gait movement has been done by analyzing gait through observation based on the experience of physical therapists or by using equipment. Movement analysis by physical therapists has been done based on experience and intuition, focusing on the patient&#x2019;s joint movements and body balance. Based on the experience of the physical therapists, it has been thought to organize what kind of activities can be seen in each phase of the stance phase and walking phases. In this section, we first summarize the events that determine the gait cycle and their names. The events that determine the gait cycle and their names are listed below and is shown in <xref ref-type="fig" rid="F3">Figure&#x20;3</xref>. In order to understand gait, Perry&#x2019;s gait analysis (<xref ref-type="bibr" rid="B6">Perry, 2010</xref>) was used as a reference. In Perry&#x2019;s gait analysis, the walking body is divided into two parts: the boarding part consisting of the head, upper limbs, trunk, and pelvis, and the motor part consisting of the pelvis and lower limbs. Walking was defined as a repetitive motion with two steps as one gait cycle, and each state during one gait cycle was defined. Focusing on one leg, the period when the foot is on the floor is called the stance phase, and the period when the foot is not on the floor is called the swing phase. When focusing on both feet, the period in which both feet are on the floor is defined as the bipedal support phase, and the period in which only one foot is on the floor is defined as the unipedal support phase. In the case of normal walking, the timing at which the lower leg of the subject&#x2019;s foot becomes vertical coincides with the timing at which the heel of the opposite foot floats. In the case of normal walking, the load response period of the subject&#x2019;s foot corresponds to the anterior swing period of the opposite&#x20;foot.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Human gait timing.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g003.tif"/>
</fig>
<p>Assuming that one cycle from heel contact to the next heel contact is 100%, the average walking cycle is 62% in the stance phase and 38% in the swing phase. As the walking speed increases, the swinging time generally decreases and the speed increases.</p>
<sec id="s2-1">
<title>Initial Contact</title>
<p>The moment the subject&#x2019;s foot touches the&#x20;floor.</p>
</sec>
<sec id="s2-2">
<title>Load Response</title>
<p>The period from the timing of the first contact to the time when the opposite foot leaves the floor is called the load response period. At this time, the entire sole of the foot touches the floor with the heel as the center of rotation. A reaction force from the ground is generated on the back side of the foot, centered on the heel, and the floor reaction force moves from the back side to the front side of the foot palm. During the load response period, the heel contact causes the flexible tissue of the heel to absorb the contact impact, and the effective contraction of the dorsiflexor muscles absorbs the contact impact. The knee is pulled forward and a small flexion occurs in the knee joint, causing the reaction force from the ground to pass behind the knee and generate the force to flex the knee. After the first contact with the ground, the ground reaction force increases sharply, reaching almost 100% of the body weight when the entire sole of the foot touches the surface. At the end of the load response period, the ground reaction force will be 120% of body weight. The ground reaction force at this time is a vector from the center of load of the foot toward the center of gravity. Therefore, from the initial stage of ground contact to the end of the load response period, the ground contact reaction force becomes backward and the whole-body acts as a brake. On the other hand, although the target foot is braked by touchdown, the center of gravity moves forward with the whole-body centering on the support leg, and the position of the center of gravity is accelerated in the direction of movement by generating a rotational moment. That is the trigger that generates the next&#x20;step.</p>
</sec>
<sec id="s2-3">
<title>Mid-Stance</title>
<p>In Mid-Stance, the knees return from a slightly bent state to a stretched state, and the entire sole of the foot touches the ground and stabilizes. In the first half of Mid-Stance, the upper body and lower limbs rotate forward around the ankle joint, and the center of gravity is pushed up. On the opposite leg, the lower limbs are swung forward. In normal walking, the activity of the extensor muscles and the action of the refracting muscles cancel each other out, so that the trunk can be kept stable and vertical. The ground reaction force generated on the heel after landing moves to the forefoot side by moving the upper body forward. When the center of gravity is highest, the ground reaction force goes straight up. In the latter half of Mid-Stance, the center of gravity moves forward with the ankle joint as the center of rotation, so the ground reaction force tilts forward and accelerates forward. The continuous movement of the center of gravity makes the ankle joint move smoothly, and the movement of the ground reaction force becomes smooth. Therefore, the ground reaction force is directly linked to the movement of the center of gravity. While walking, the position of the center of gravity bends to the left and right by exchanging the left and right support legs, and acceleration and deceleration in the front-back direction is repeated by braking operation by heel landing and forward acceleration by swing operation. The upper body is kept vertical without bending sideways or tilting back and forth. The state of walking is determined by the relationship between the position of the center of gravity and the support basal plane formed by the support legs. After Mid-Stance, the ground projection point of the center of gravity exists inside the support basal plane in the two-leg support period, but the ground projection point of the center of gravity is outside the support basal plane in the one-leg support period, and it is in an unstable&#x20;state.</p>
</sec>
<sec id="s2-4">
<title>Terminal Stance</title>
<p>When the position of the center of gravity of the whole body moves forward and the heel on the back side floats, it shifts from the middle stage of stance to the end stage of stance. The characteristics of the movement during this period are to bend the body backward, adjust the landing position and timing of the opposite foot, and limit the descent speed of the opposite foot so as to suppress the landing impact of the initial contact.</p>
</sec>
<sec id="s2-5">
<title>Pre-Swing</title>
<p>The state in which the opposite foot first touches the ground and the whole body is supported by both feet. The whole body is supported by both feet, and the ground reaction force of the foot that was the supporting leg decreases, and at the same time, the ground reaction force of the opposite foot increases. The ground reaction force of the subject&#x2019;s foot is tilted forward before the opposite foot first touches the ground. On the other hand, the foot on the opposite side is braked with the ground contact reaction force tilted backward at the same time as the initial touchdown. As the ground contact reaction force of the opposite foot increases, the ground contact reaction force that was tilted forward gradually decreases.</p>
</sec>
<sec id="s2-6">
<title>Initial Swing</title>
<p>At the same time as the subject&#x2019;s foot takes off from the ground, the knee bends due to the inertial force of the lower limbs. The initial stage of the initial swing is until the target foot overtakes the opposite&#x20;foot.</p>
</sec>
<sec id="s2-7">
<title>Mid-Swing</title>
<p>The subject&#x2019;s foot overtakes the opposite foot, bending the hip joint and pulling the knee forward. When the subject&#x2019;s feet are at knee height so that they do not touch the floor, extend the knees. The period until the lower leg is perpendicular to the ground is called the Mid-Swing period.</p>
</sec>
<sec id="s2-8">
<title>Terminal Swing</title>
<p>In normal walking, the flexors of the knee contract efficiently, and the knee suddenly stretches and brakes. The timing when the knee finishes stretching coincides with the timing when it first touches the ground.</p>
</sec>
</sec>
<sec id="s3">
<title>Experimental and Measurement Environment</title>
<sec id="s3-1">
<title>Experimental Environment</title>
<p>Based on early experiments and discussions, we assumed that we would measure continuous walking data, and used a wearable measurement system that can measure over a wide range. For gait measurement, Xsens motion capture system<xref ref-type="fn" rid="fn2">
<sup>2</sup>
</xref> and a force plate M3D (manufactured by Tech Gihan Co., Ltd.)<xref ref-type="fn" rid="fn1">
<sup>1</sup>
</xref> were used. Xsens is a highly accurate and secure PC-based sensing application development platform consisting of 10-axis IMU sensors, receiver, measurement software (MT MANAGER), and software development kit (SDK). It is a system that can measure three-dimensional movements in the living environment and work environment and is used in various situations such as sports and rehabilitation. M3D is an ultra-thin 6-component force plate designed to be attached to shoes. There is M3D-EL-FP-W95 (W90 x D80) for toes and M3D-EL- for heels. The FP-W80 (W80 x D80) is combined to form four units with both feet. Inertial sensors (acceleration, gyro, geomagnetic) are integrated in each Force Plate to measure simultaneously with six force components. The wireless communication unit makes it possible to measure continuous ground reaction force in free space. The trigger signal was sent from the circuit board using the Xsens and the force plate M3D analog input terminal, and the Xsens and the force plate M3D were set to synchronize at the timing of recording start. The measured data was converted to 60&#xa0;Hz after the measurement according to the frequency of Xsens. An optical motion capture system was also measured at the same time to verify the measurement data of Xsens, but the data was not used in this gait analysis and balance control model identification. The constructed measurement system is shown in <xref ref-type="fig" rid="F4">Figure&#x20;4</xref> and the situation of a subject wearing a measurement sensor is shown in <xref ref-type="fig" rid="F5">Figure&#x20;5</xref>.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Measurement system.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g004.tif"/>
</fig>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Installation status of measurement system.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g005.tif"/>
</fig>
</sec>
<sec id="s3-2">
<title>Walking Data Measurement</title>
<p>
<xref ref-type="fig" rid="F6">Figure&#x20;6</xref> shows the measured walking pattern. A motion capture system and a force plate were attached to the subject, and two walking data were measured: 1) going straight, and 2) going straight, turning, and going straight. In the straight-ahead line, six steps were taken from the start of walking, but the walking speed and stride of walking were not limited, and the subject was allowed to walk naturally.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Measured walking pattern.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g006.tif"/>
</fig>
<p>For straight-ahead/change-direction/straight-ahead walking, the start position, change direction position, and stop position are set so that the pedestrian can walk naturally without limiting the walking speed and stride of walking. The walking movements of (1) and (2) were measured 10&#xa0;times for each subject. The data of each measurement system obtained by the measurement was performed offline, the timing of the start trigger was synchronized, and the frequency was converted. Using the values of foot position (X, Y, Z), foot orientation (Quaternion), ankle position (X, Y, Z) and ankle orientation (Quaternion) measured by Xsens, the three-dimensional foot shape model is converted to and updated sequentially. For the force plate value of the M3D sensor, the value converted by the IMU sensor mounted on the M3D sensor as the value in the global coordinate system was&#x20;used.</p>
</sec>
<sec id="s3-3">
<title>Subject Body Shape Feature Modeling</title>
<p>The subject information is shown below. We thoroughly examined the ethical points regarding the experiment and the handling of personal information regarding the measurement data in advance. Three subjects were measured: 1) height 1.65 [m], weight 57 [kg], lean type, 2) height 1.60 [m], weight 55 [kg], lean type, 3) height 1.82 [m], weight 62 [kg], lean type. Since the physiques of subject 1) and subject 2) are almost the same, it is assumed that similar analysis results can be obtained. In addition, it was assumed that subject 3) was about 0.2 [m] taller and could be different from other subjects due to the difference in height. The height of subject 1, subject 2, and subject 3, the length of each segment, the vertical direction of the center of gravity, the weight, the weight of each segment, and the distribution ratio of the center of gravity are shown in <xref ref-type="table" rid="T1">Table&#x20;1</xref>. Geometric connection structure, joint rotation direction and length, center of gravity position, and weight of each segment were defined in URDF format, which is commonly used in robots.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Segment length and segment weight of subjects.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th rowspan="2" colspan="2" align="left"/>
<th colspan="2" align="center">Subject1</th>
<th colspan="2" align="center">Subject2</th>
<th colspan="2" align="center">Subject3</th>
<th rowspan="2" align="center">GC ratio &#x3b3;</th>
</tr>
<tr>
<th align="center">Height [m]</th>
<th align="center">Weight [kg]</th>
<th align="center">Height [m]</th>
<th align="center">Weight [kg]</th>
<th align="center">Height [m]</th>
<th align="center">Weight [kg]</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td colspan="2" align="left">Whole-Body</td>
<td align="char" char=".">1.65</td>
<td align="char" char=".">57.00</td>
<td align="char" char=".">1.60</td>
<td align="char" char=".">52.00</td>
<td align="char" char=".">1.82</td>
<td align="char" char=".">62.0</td>
<td align="center">&#x30fc;</td>
</tr>
<tr>
<td rowspan="15" align="left">Segment</td>
<td align="left">1) Head</td>
<td align="char" char=".">0.22</td>
<td align="char" char=".">3.93</td>
<td align="char" char=".">0.21</td>
<td align="char" char=".">3.59</td>
<td align="char" char=".">0.24</td>
<td align="char" char=".">4.3</td>
<td align="center">0.821</td>
</tr>
<tr>
<td align="left">2) Chest</td>
<td align="char" char=".">0.45</td>
<td align="char" char=".">17.21</td>
<td align="char" char=".">0.44</td>
<td align="char" char=".">15.70</td>
<td align="char" char=".">0.49</td>
<td align="char" char=".">18.7</td>
<td align="center">0.428</td>
</tr>
<tr>
<td align="left">3) Body</td>
<td align="char" char=".">0.45</td>
<td align="char" char=".">10.66</td>
<td align="char" char=".">0.44</td>
<td align="char" char=".">9.72</td>
<td align="char" char=".">0.49</td>
<td align="char" char=".">11.6</td>
<td align="center">0.609</td>
</tr>
<tr>
<td align="left">4) Right Upper Arm</td>
<td align="char" char=".">0.25</td>
<td align="char" char=".">1.54</td>
<td align="char" char=".">0.25</td>
<td align="char" char=".">1.40</td>
<td align="char" char=".">0.29</td>
<td align="char" char=".">1.7</td>
<td align="center">0.529</td>
</tr>
<tr>
<td align="left">5) Right Fore Arm</td>
<td align="char" char=".">0.25</td>
<td align="char" char=".">0.91</td>
<td align="char" char=".">0.25</td>
<td align="char" char=".">0.83</td>
<td align="char" char=".">0.29</td>
<td align="char" char=".">1.0</td>
<td align="center">0.415</td>
</tr>
<tr>
<td align="left">6) Right Hand</td>
<td align="char" char=".">0.17</td>
<td align="char" char=".">0.34</td>
<td align="char" char=".">0.16</td>
<td align="char" char=".">0.31</td>
<td align="char" char=".">0.18</td>
<td align="char" char=".">0.4</td>
<td align="center">0.891</td>
</tr>
<tr>
<td align="left">7) Left Upper Arm</td>
<td align="char" char=".">0.25</td>
<td align="char" char=".">1.54</td>
<td align="char" char=".">0.25</td>
<td align="char" char=".">1.40</td>
<td align="char" char=".">0.29</td>
<td align="char" char=".">1.7</td>
<td align="center">0.529</td>
</tr>
<tr>
<td align="left">8) Left Fore Arm</td>
<td align="char" char=".">0.25</td>
<td align="char" char=".">0.91</td>
<td align="char" char=".">0.25</td>
<td align="char" char=".">0.83</td>
<td align="char" char=".">0.29</td>
<td align="char" char=".">1.0</td>
<td align="center">0.415</td>
</tr>
<tr>
<td align="left">9) Left Hand</td>
<td align="char" char=".">0.17</td>
<td align="char" char=".">0.34</td>
<td align="char" char=".">0.16</td>
<td align="char" char=".">0.31</td>
<td align="char" char=".">0.18</td>
<td align="char" char=".">0.4</td>
<td align="center">0.891</td>
</tr>
<tr>
<td align="left">10) Right Upper Leg</td>
<td align="char" char=".">0.33</td>
<td align="char" char=".">6.27</td>
<td align="char" char=".">0.31</td>
<td align="char" char=".">5.72</td>
<td align="char" char=".">0.36</td>
<td align="char" char=".">6.8</td>
<td align="center">0.475</td>
</tr>
<tr>
<td align="left">11) Right Lower Leg</td>
<td align="char" char=".">0.33</td>
<td align="char" char=".">2.91</td>
<td align="char" char=".">0.31</td>
<td align="char" char=".">2.65</td>
<td align="char" char=".">0.36</td>
<td align="char" char=".">3.2</td>
<td align="center">0.406</td>
</tr>
<tr>
<td align="left">12) Right Foot</td>
<td align="char" char=".">0.10</td>
<td align="char" char=".">0.63</td>
<td align="char" char=".">0.10</td>
<td align="char" char=".">0.57</td>
<td align="char" char=".">0.11</td>
<td align="char" char=".">0.7</td>
<td align="center">0.595</td>
</tr>
<tr>
<td align="left">13) Left Upper Leg</td>
<td align="char" char=".">0.33</td>
<td align="char" char=".">6.27</td>
<td align="char" char=".">0.31</td>
<td align="char" char=".">5.72</td>
<td align="char" char=".">0.36</td>
<td align="char" char=".">6.8</td>
<td align="center">0.475</td>
</tr>
<tr>
<td align="left">14) Left Lower Leg</td>
<td align="char" char=".">0.33</td>
<td align="char" char=".">2.91</td>
<td align="char" char=".">0.31</td>
<td align="char" char=".">2.65</td>
<td align="char" char=".">0.36</td>
<td align="char" char=".">3.2</td>
<td align="center">0.406</td>
</tr>
<tr>
<td align="left">15) Left Foot</td>
<td align="char" char=".">0.10</td>
<td align="char" char=".">0.63</td>
<td align="char" char=".">0.10</td>
<td align="char" char=".">0.57</td>
<td align="char" char=".">0.11</td>
<td align="char" char=".">0.7</td>
<td align="center">0.595</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Algorithm for gait phase and timing.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Phase</th>
<th align="center">Start timing</th>
<th align="center">End timing</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="2" align="left">Initial contact</td>
<td colspan="2" align="left">Timing when the position of the lowest point of the foot shape model approaches the floor surface</td>
</tr>
<tr>
<td colspan="2" align="left">Timing when the vertical value of the M3D heel side sensor changes from the value near 0 to the plus side</td>
</tr>
<tr>
<td rowspan="2" align="left">Loading Response</td>
<td rowspan="2" align="left">End timing of Initial Contact</td>
<td align="left">The position of the highest point of the foot shape model is smaller than a certain threshold value from the floor surface</td>
</tr>
<tr>
<td align="left">Timing when the vertical value of the M3D toe sensor changes from the value near 0 to the plus side</td>
</tr>
<tr>
<td rowspan="2" align="left">Midstance</td>
<td rowspan="2" align="left">End timing of Loading Response</td>
<td align="left">The position of the highest point of the foot shape model is larger than a certain threshold value from the floor surface</td>
</tr>
<tr>
<td align="left">Timing when the vertical value of the M3D heel side sensor changes from a positive value to near 0</td>
</tr>
<tr>
<td rowspan="2" align="left">Terminal Stance</td>
<td rowspan="2" align="left">End timing of Midstance</td>
<td align="left">Timing when the position of the lowest point of the foot shape model on the opposite side approaches the floor surface</td>
</tr>
<tr>
<td align="left">Timing when the value in the vertical direction of the sensor on the opposite side of the M3D heel changes from the value near 0 in the swing phase to the plus side</td>
</tr>
<tr>
<td rowspan="2" align="left">Pre-Swing</td>
<td rowspan="2" align="left">End timing of Terminal Stance</td>
<td align="left">The position of the lowest point of the foot shape model is larger than a certain threshold value from the floor surface</td>
</tr>
<tr>
<td align="left">Timing when the vertical value of the M3D toe sensor changes from a positive value to near 0</td>
</tr>
<tr>
<td align="left">Initial Swing</td>
<td align="left">End timing of Pre-Swing</td>
<td align="left">Timing when the position of the ankle of the target foot coincides with the position of the ankle of the opposite foot with respect to the direction of travel</td>
</tr>
<tr>
<td align="left">Mid-Swing</td>
<td align="left">End timing of Initial Swing</td>
<td align="left">Timing when the knees of the target foot and the ankles are aligned on the horizontal plane or within the threshold range</td>
</tr>
<tr>
<td rowspan="2" align="left">Terminal Swing</td>
<td rowspan="2" align="left">End timing of Mid-Swing</td>
<td align="left">Timing when the position of the lowest point of the target foot shape model approaches the floor surface</td>
</tr>
<tr>
<td align="left">Timing when the vertical value of the target M3D heel side sensor changes from the value near 0 in the swing phase to the plus side</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The human body is supported by a combination of 200&#x2013;300 bones. However, it is difficult and inefficient to model the skeleton of the whole body in detail. We defined a model of joints of the whole body with the joint structure as shown in <xref ref-type="fig" rid="F7">Figure&#x20;7</xref> based on the knowledge of the whole-body control of humanoid robots. The whole body is regarded as a link system consisting of 15 segments of head, upper torso, lower torso, left and right upper arms, forearms, hands, thighs, lower legs, and feet as shown in <xref ref-type="fig" rid="F7">Figure&#x20;7</xref>. In addition, since this model is equivalent to the Japanese body statistical model (<xref ref-type="bibr" rid="B8">Saito, 2015</xref>)<xref ref-type="fn" rid="fn2">
<sup>2</sup>
</xref>, we used the rigid body characteristic constants of (<xref ref-type="bibr" rid="B1">Ae et&#x20;al., 1992</xref>). In the Japanese body statistical model, the internal division ratio that determines the position of the center of mass is given from the average mass distribution model. After identifying the mass for each segment, the center of mass position for i &#x3d; 1 to 15 segments in local coordinate system were calculated by the following formula.<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>J</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>J</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>
</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Subject body shape feature modeling.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g007.tif"/>
</fig>
<p>The M3D sensor is mounted on the provided insole, and the subject is wearing the M3D-mounted insole. By modeling the shape of the insole and using the 3D position and orientation information from Xsens, it is possible to update the position of each point on the insole online. By calculating the distance from the floor surface at each point of the insole, it is possible to estimate the ground contact condition between the insole and the floor. The shape of the insole was modeled as shown in <xref ref-type="fig" rid="F8">Figure&#x20;8</xref>.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Subject foot shape feature modeling.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g008.tif"/>
</fig>
</sec>
<sec id="s3-4">
<title>Development of Gait Phase Detection Algorithm</title>
<p>We constructed a system to identify each gait phase. By setting the following timing, a system for distinguishing each phase was constructed. <xref ref-type="fig" rid="F9">Figure&#x20;9</xref> shows the algorithm for distinguishing each phase using the data of the Xsens motion capture system and the M3D force plate system.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Algorithm to identify Gait phase while walking.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g009.tif"/>
</fig>
</sec>
<sec id="s3-5">
<title>Analysts of Straight Forward Walk Motion Data</title>
<p>The data of straight-line walking is shown in <xref ref-type="fig" rid="F10">Figure&#x20;10</xref>. <xref ref-type="fig" rid="F10">Figure&#x20;10</xref> shows the results of identifying each gait phase for left and right from the measurement data of subject 1, subject 2, and subject 3. The timing of each phase is shown when one Gait Circle is set to 100%. The seven defined gait phases were detectable by programming in the continuous walking state except for the timing of the start and braking of walking. As a result of the analysis, it was confirmed that all the subjects had different proportions of the right and left gait phases and the left and right strides. The proportion of each gait phase and the distribution of the stance phase and the swing phase also differed slightly between the left and right sides. This may be due to the fact that, unlike humanoid robots, the posture of humans is slightly different from that of left and&#x20;right.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Human Gait ratio of each subject.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g010.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F11">Figure&#x20;11</xref> compares the average values of each gait phase for subjects 1, 2, and 3. Subject 1 and subject 2, who are close to each other in height, have similar proportions of gait phase. In addition, the percentage of gait phase was different between subjects 1 and 2 with the same height and subject 3 with a higher height. In general, a taller person is considered to have a longer stride width when walking. However, this could not&#x20;be.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Comparison of gait phases of subjects.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g011.tif"/>
</fig>
<p>confirmed from the results of this gait measurement. The difference in stride length is thought to be dominated by factors related to walking style rather than height. Although the difference in height seems to have a slight effect on the ratio of each gait phase, it cannot be determined with the number of three subjects. Even if the difference in height affects the ratio of each gait phase and changes the distribution between the stance phase and the swing phase, it is considered possible to switch between the stance phase and the swing phase by detecting heel contact and to consider the balance state. Therefore, we constructed an algorithm for estimating the human balance state based on the assumption that it is reasonable to focus on the horizontal component when considering the balance&#x20;state.</p>
</sec>
</sec>
<sec id="s4">
<title>Balance Control Technology Based on Inverted Pendulum Model</title>
<p>The purpose of this research is to realize a stable balance maintenance function in the motion assist system. We are aiming for a technology that can estimate the balance state and guide it to the optimum balance state before the balance state becomes unstable. The purpose is to mathematically model human standing stability motion by utilizing the knowledge of balance control technology of humanoid robots based on the relationship between the center of gravity and the center of ground reaction force. The inverted pendulum model commonly used in balance control of humanoid robots uses the planned zero moment point (ZMP: zero moment point) (<xref ref-type="bibr" rid="B2">Harada et&#x20;al., 2006</xref>; <xref ref-type="bibr" rid="B9">Sugihara and Nakamura, 2006</xref>; <xref ref-type="bibr" rid="B12">Takenaka, 2009</xref>; <xref ref-type="bibr" rid="B11">Takenaka et&#x20;al., 2011</xref>) trajectory to generate a stable gait pattern. The following effects can be considered for the whole-body motion control of humanoid robots using ZMP.<list list-type="simple">
<list-item>
<p>A) It is possible to directly consider the physical constraints determined by contact with the ground.</p>
</list-item>
<list-item>
<p>B) The dynamic movement of a humanoid robot can be realized by the same principle as a general inverted pendulum&#x20;model.</p>
</list-item>
<list-item>
<p>C) It is possible to consider only the global dynamics without considering the local dynamics of each&#x20;link.</p>
</list-item>
</list>
</p>
<sec id="s4-1">
<title>Balance Phase Based on Inverted Pendulum Model</title>
<p>The exact dynamics of the humanoid robot is expressed by the following equation of motion (<xref ref-type="bibr" rid="B9">Sugihara and Nakamura, 2006</xref>).<disp-formula id="e2">
<mml:math id="m2">
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>21</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mn>22</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>&#x3b8;</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>g</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>&#x3c4;</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mn>21</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mn>22</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
<p>Here, <inline-formula id="inf1">
<mml:math id="m3">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a six-dimensional acceleration including translation and rotation of the base link (trunk link) that is not fixed to the inertial system, &#x3b8; is the joint angle vector, <inline-formula id="inf2">
<mml:math id="m4">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the inertial matrix, and <inline-formula id="inf3">
<mml:math id="m5">
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the centrifugal.</p>
<p>force and Coriolis force, <inline-formula id="inf4">
<mml:math id="m6">
<mml:mrow>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the gravity term, <inline-formula id="inf5">
<mml:math id="m7">
<mml:mi>&#x3c4;</mml:mi>
</mml:math>
</inline-formula> is the joint drive torque, <inline-formula id="inf6">
<mml:math id="m8">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula> is the number of contact points between the robot and the environment, <inline-formula id="inf7">
<mml:math id="m9">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf8">
<mml:math id="m10">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the external forces and moments acting at the k-th contact point, and <inline-formula id="inf9">
<mml:math id="m11">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the matrix that converts the external force into a generalized force. In this definition, there is no generalized force that directly drives the 6 degrees of freedom of the base link. Through the interaction with the environment caused by whole body movement, contact with the environment occurs, and the 6 degrees of freedom of the basal link are determined by the external force f_k and the moment n_k generated at the contact point between the robot and the environment. It can be seen that it is not effective to accurately derive the joint torque &#x3c4; in real time by calculating the dynamics of the whole body in consideration of the external force <inline-formula id="inf10">
<mml:math id="m12">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and the moment <inline-formula id="inf11">
<mml:math id="m13">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> generated by the contact of each link with the local environment. By focusing on the dynamics of the center of gravity, extracting the part related to translational motion from the upper part of <xref ref-type="disp-formula" rid="e2">Eq. (2)</xref> where the driving force is 0, and focusing on the global motion of the entire system, it is possible to effectively obtain a simple equation. it can. Expressed by the center of gravity of the entire robot <inline-formula id="inf12">
<mml:math id="m14">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>G</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, the sum of the external forces acting on the entire system <inline-formula id="inf13">
<mml:math id="m15">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, and the gravitational acceleration vector <inline-formula id="inf14">
<mml:math id="m16">
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mi>g</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>,<disp-formula id="e3">
<mml:math id="m17">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>G</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
<disp-formula id="e4">
<mml:math id="m18">
<mml:mrow>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
</p>
<p>In <xref ref-type="disp-formula" rid="e4">Eq. 4</xref>, <inline-formula id="inf15">
<mml:math id="m19">
<mml:mi>n</mml:mi>
</mml:math>
</inline-formula> is the number of links with the base link as link 0, <inline-formula id="inf16">
<mml:math id="m20">
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the mass of link i, <inline-formula id="inf17">
<mml:math id="m21">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mi>y</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the center of gravity position vector of the link i, and <inline-formula id="inf18">
<mml:math id="m22">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the external force vector acting at the kth contact point. Focusing on the global motion of the entire system and extracting the part related to the rotational motion from the upper part of <xref ref-type="disp-formula" rid="e2">Eq. (2)</xref>, the moment due to the external force received from the environment is as follows.<disp-formula id="e5">
<mml:math id="m23">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>L</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>G</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>Z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
</p>
<p>Here, <inline-formula id="inf19">
<mml:math id="m24">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>L</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the angular momentum acting around the center of gravity, <inline-formula id="inf20">
<mml:math id="m25">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the position vector of ground reaction force center (ZMP: Zero Moment Point) on the ground (ZMP) position vector <inline-formula id="inf21">
<mml:math id="m26">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf22">
<mml:math id="m27">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>G</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the position vector of the center of gravity of the whole body in the inertial coordinate system <inline-formula id="inf23">
<mml:math id="m28">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>G</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>G</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>G</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>G</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf24">
<mml:math id="m29">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>Z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the total external force moments received from the environment around <inline-formula id="inf25">
<mml:math id="m30">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf26">
<mml:math id="m31">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>Z</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>Z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf27">
<mml:math id="m32">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the angular momentum that works around the center of gravity. Assuming that this change in angular momentum is sufficiently small and negligible, and that the change in the height of the center of gravity is negligible, the following approximate equation can be derived from <xref ref-type="disp-formula" rid="e4">Eqs 4</xref>, <xref ref-type="disp-formula" rid="e5">5</xref>.<disp-formula id="e6">
<mml:math id="m33">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
<disp-formula id="e7">
<mml:math id="m34">
<mml:mrow>
<mml:mi>&#x3b6;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>z</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msqrt>
<mml:mo>&#x2245;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mi>g</mml:mi>
<mml:mi>z</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>The ground height was set to <inline-formula id="inf28">
<mml:math id="m35">
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>Z</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. The following equation of state can be obtained from <xref ref-type="disp-formula" rid="e6">Eqs 6</xref>, <xref ref-type="disp-formula" rid="e7">7</xref>.<disp-formula id="e8">
<mml:math id="m36">
<mml:mrow>
<mml:mfrac>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mi>x</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mi>x</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>When <inline-formula id="inf29">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is fixed to <inline-formula id="inf30">
<mml:math id="m38">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, it has the eigenvalues <inline-formula id="inf31">
<mml:math id="m39">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>&#x3b6;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">&#x30fc;</mml:mi>
<mml:mi>&#x3b6;</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and the corresponding eigenvectors <inline-formula id="inf32">
<mml:math id="m40">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mi>&#x3b6;</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b6;</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. The phase space locus has a saddle-shaped point <inline-formula id="inf33">
<mml:math id="m41">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and asymptotes in <xref ref-type="disp-formula" rid="e9">Eqs 9</xref>, <xref ref-type="disp-formula" rid="e10">10</xref>.<disp-formula id="e9">
<mml:math id="m42">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>&#x3b6;</mml:mi>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>
<disp-formula id="e10">
<mml:math id="m43">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>&#x3b6;</mml:mi>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>
</p>
<p>This is considered to be equivalent to an inverted pendulum in which the whole body is composed of rods having no mass and&#x20;mass.</p>
</sec>
<sec id="s4-2">
<title>State Feedback Controller Modeling</title>
<p>The motion of an inverted pendulum is determined by the relationship between the contact point with the environment and the position of the center of gravity, but in the case of biped, the point of contact with the environment is on the ground and ZMP is the center of contact. However, since the area where ZMP exists is limited to the area where the foot is supported, it is subject to the following restrictions.<disp-formula id="e11">
<mml:math id="m44">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
</p>
<p>The state of the center of gravity can be controlled by properly manipulating the ZMP position within the support area. If there is a virtual spring damper to stabilize the center of gravity at a certain reference point, it can be understood that the spring provides the restoring force to the reference point and the damper suppresses the vibration. If the control is performed so as to kick the ground in order to obtain the effect of this restoring force, the target <inline-formula id="inf34">
<mml:math id="m45">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>d</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> as the manipulated variable is expressed by the following linear sum of the center of gravity position and velocity (<xref ref-type="bibr" rid="B10">Sugihara and Yamamoto, 2017</xref>) shown in <xref ref-type="fig" rid="F12">Figure&#x20;12</xref>.<disp-formula id="e12">
<mml:math id="m46">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>d</mml:mi>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>
</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Human Balance phase based on Inverted Pendulum Model.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g012.tif"/>
</fig>
<p>Here, <inline-formula id="inf35">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the spring constant, <inline-formula id="inf36">
<mml:math id="m48">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the damper coefficient, and <inline-formula id="inf37">
<mml:math id="m49">
<mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the center of gravity reference position. The manipulated variable <inline-formula id="inf38">
<mml:math id="m50">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
<mml:mi>d</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> converges the center of gravity to a certain reference point by linear feedback control according to the state of the center of gravity position and velocity. Since the actual ZMP is constrained within the support area of both feet, if the actual ZMP follows the above target ZMP without delay, the motion of the center of gravity can be described by the following the <xref ref-type="disp-formula" rid="e11">Eqs 11</xref>, <xref ref-type="disp-formula" rid="e12">12</xref>.<disp-formula id="e13">
<mml:math id="m51">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msup>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>The equation of state for <inline-formula id="inf39">
<mml:math id="m52">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is as follows.<disp-formula id="e14">
<mml:math id="m53">
<mml:mrow>
<mml:mfrac>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mi>x</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mi>x</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>This system has the following eigenvalues <inline-formula id="inf40">
<mml:math id="m54">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.<disp-formula id="equ1">
<mml:math id="m55">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="equ2">
<mml:math id="m56">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bb;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="e15">
<mml:math id="m57">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mi>&#x3b6;</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>Generally, the inverted pendulum model has eigenvalues <inline-formula id="inf41">
<mml:math id="m58">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3b6;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b6;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and corresponding eigenvectors <inline-formula id="inf42">
<mml:math id="m59">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mi>&#x3b6;</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf43">
<mml:math id="m60">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b6;</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. The divergent component given by the positive eigenvalue is the unstable mode, and the convergent component given by the negative eigenvalue is the stable&#x20;mode.</p>
</sec>
</sec>
<sec id="s5">
<title>Previous Research on Identification of Standing Stability Controller</title>
<sec id="s5-1">
<title>Asymmetric Movement in the Front-Back Direction</title>
<p>A mathematical model of human stepping and braking control was identified through a joint project with Sugihara et&#x20;al. (<xref ref-type="bibr" rid="B4">Kojima, 2019</xref>). The COM-ZMP model (<xref ref-type="bibr" rid="B3">Kajita, 2009</xref>) is often used in the field of humanoid robot engineering. The equation of motion is derived from the constraint that humanoids are not mechanically connected to the ground (<xref ref-type="bibr" rid="B4">Kojima, 2019</xref>), but humans are also constrained by similar conditions. The subject&#x2019;s center of gravity (COM) motion trajectory and zero moment point (ZMP) were measured, and control parameters were identified. In the previous research (<xref ref-type="bibr" rid="B4">Kojima, 2019</xref>), Kojima et&#x20;al. gave subjects an arbitrary perturbation at the end of the stepping and braking movement and verified changes in human behavior with phase plot. As a result, it has been confirmed that the phase space locus is an asymmetric locus group along the x-axis direction and has directivity in the front-back direction. It can be confirmed that the slope of the asymptote is different between the trajectory of the recovery motion when rising (converging) and the trajectory of the collapsing (diverging) motion. From this result, since the rising motion toward the reference point and the falling motion away from the reference point perform asymmetrical motions, the absolute values of the two eigenvalues are not always equal. The phase space locus has eigenvalues <inline-formula id="inf44">
<mml:math id="m61">
<mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and corresponding eigenvectors <inline-formula id="inf45">
<mml:math id="m62">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf46">
<mml:math id="m63">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> for each of the unstable mode and stable mode. Considering asymmetrical motion and applying eigenvalues <inline-formula id="inf47">
<mml:math id="m64">
<mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> in the phase space locus using the diagonal matrix D whose components are the eigenvalues of the system and the matrix T whose column vector is the eigenvector, the matrix representing the system is expressed as follows (<xref ref-type="bibr" rid="B4">Kojima, 2019</xref>).<disp-formula id="e16">
<mml:math id="m65">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mi>D</mml:mi>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>
</p>
<p>The modified system model is shown in <xref ref-type="disp-formula" rid="e14">Eq. 14</xref>.<disp-formula id="e17">
<mml:math id="m66">
<mml:mrow>
<mml:mfrac>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mi>x</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mi>x</mml:mi>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>The equation of motion is<disp-formula id="e18">
<mml:math id="m67">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>Z</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>
</p>
<p>Ideally, if the actual ZMP follows the above target ZMP without delay, it will be modified as follows.<disp-formula id="e19">
<mml:math id="m68">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mi>d</mml:mi>
</mml:msup>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2dc;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>
</p>
<p>In human behavior, model predictive control is often used as the behavior is decided at each time so as to predict the state in the near future and obtain the most desirable result. Model prediction control is a type of real-time optimal control that predicts the state of the system up to the finite time future at each time for a system that changes from moment to moment, including disturbance, and optimizes at each time based on that. In the stepping and braking motion operation, control is performed while predicting the state of a finite time ahead even in the transitional period of the support area change after landing, so if the control input&#x20;does not change sharply, it is possible to formulate by model prediction control. Sugihara et&#x20;al. proposed model predictive control in the foot control of humanoid robots (<xref ref-type="bibr" rid="B9">Sugihara and Nakamura, 2006</xref>; <xref ref-type="bibr" rid="B5">Murai and Sugihara, 2020</xref>).</p>
<p>The control input is determined based on the following two points.<list list-type="simple">
<list-item>
<p>A. Satisfying standing stability at time T finite time&#x20;ahead</p>
</list-item>
<list-item>
<p>B. Bringing his ZMP closer to the axle at each&#x20;time,</p>
</list-item>
</list>
</p>
<p>The standing stability of A) is judged by Pratt et&#x20;al. using the capture point (<xref ref-type="bibr" rid="B7">Pratt et&#x20;al., 2006</xref>). The capture point is the point where he can finally stop the center of gravity by placing a ZMP at that point, which can be derived by the following procedure (<xref ref-type="bibr" rid="B4">Kojima, 2019</xref>). The following homogeneous equation is obtained from <xref ref-type="disp-formula" rid="e6">Eq. 6</xref> by setting <inline-formula id="inf48">
<mml:math id="m69">
<mml:mrow>
<mml:mi>&#x3c7;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.<disp-formula id="e20">
<mml:math id="m70">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>&#x3c7;</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mi>&#x3c7;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
</p>
<p>The general solution of this equation is expressed as follows using the initial values <inline-formula id="inf49">
<mml:math id="m71">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c7;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf50">
<mml:math id="m72">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>&#x3c7;</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.<disp-formula id="e21">
<mml:math id="m73">
<mml:mrow>
<mml:mi>&#x3c7;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c7;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>&#x3c7;</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mi>&#x3b6;</mml:mi>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mi>&#x3b6;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>&#x3c7;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>&#x3c7;</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mi>&#x3b6;</mml:mi>
</mml:mfrac>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b6;</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>Considering eigenvalues <inline-formula id="inf51">
<mml:math id="m74">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and corresponding eigenvectors <inline-formula id="inf52">
<mml:math id="m75">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf53">
<mml:math id="m76">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> for each of the unstable mode and stable mode, we have<disp-formula id="e22">
<mml:math id="m77">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>
<disp-formula id="e23">
<mml:math id="m78">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>
</p>
<p>The necessary condition for the center of gravity to stop when <inline-formula id="inf54">
<mml:math id="m79">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> after a certain period of time is that the first term of <xref ref-type="disp-formula" rid="e23">Eq. 23</xref> becomes zero.<disp-formula id="e24">
<mml:math id="m80">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
<label>(24)</label>
</disp-formula>At this time, <inline-formula id="inf55">
<mml:math id="m81">
<mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is capture point <inline-formula id="inf56">
<mml:math id="m82">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and the following equation is defined.<disp-formula id="e25">
<mml:math id="m83">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
<label>(25)</label>
</disp-formula>
</p>
<p>In order to bring ZMP closer to the axis foot at each time, it is necessary to minimize the following when the axis foot position is <inline-formula id="inf57">
<mml:math id="m84">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, the current time is t, and the remaining time until landing is T.<disp-formula id="e26">
<mml:math id="m85">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x222b;</mml:mo>
</mml:mstyle>
<mml:mi>t</mml:mi>
<mml:mi>T</mml:mi>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
<label>(26)</label>
</disp-formula>
</p>
<p>Assuming that the target stepping position is <inline-formula id="inf58">
<mml:math id="m86">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, the condition for satisfying the standing stability at time T, which is a finite time ahead, is<disp-formula id="e27">
<mml:math id="m87">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
<label>(27)</label>
</disp-formula>
<disp-formula id="e28">
<mml:math id="m88">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
<label>(28)</label>
</disp-formula>
</p>
<p>When solved analytically at t &#x3c; T, the solution is obtained in the form of the following state feedback. <disp-formula id="e29">
<mml:math id="m89">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(29)</label>
</disp-formula>
<disp-formula id="equ3">
<mml:math id="m90">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2261;</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="equ4">
<mml:math id="m91">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2261;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>It can be seen that <inline-formula id="inf59">
<mml:math id="m92">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is related to responsiveness and <inline-formula id="inf60">
<mml:math id="m93">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a parameter related to Capture Point. From the above, a model that can express the stepping and braking motion appropriately defined by setting the reference values <inline-formula id="inf61">
<mml:math id="m94">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf62">
<mml:math id="m95">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>. On the other hand, the influence of the change in angular momentum around the center of gravity is not considered in the model. Here, the torque around the center of gravity calculated approximately from the movements of the mass <inline-formula id="inf63">
<mml:math id="m96">
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of each body part and the mass center position <inline-formula id="inf64">
<mml:math id="m97">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is taken into consideration. Assuming that the momentum and angular momentum of each link based on the center of gravity are <inline-formula id="inf65">
<mml:math id="m98">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>G</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf66">
<mml:math id="m99">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>G</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, ZMP is defined by <xref ref-type="disp-formula" rid="e30">Eq. (30)</xref>.<disp-formula id="e30">
<mml:math id="m100">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>L</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>g</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>P</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>z</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>z</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>L</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>z</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>P</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(30)</label>
</disp-formula>M is the mass of the whole body, g is the gravitational acceleration, and x is the position of the center of gravity. The angular momentum <inline-formula id="inf67">
<mml:math id="m101">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>G</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is as follows.<disp-formula id="e31">
<mml:math id="m102">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>G</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>i</mml:mi>
</mml:munder>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfrac>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(31)</label>
</disp-formula>
</p>
<p>Here, if <inline-formula id="inf68">
<mml:math id="m103">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>z</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x226b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>P</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, it becomes as follows.<disp-formula id="e32">
<mml:math id="m104">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>z</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>z</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>z</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mi mathvariant="italic">&#x30fc;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>L</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>z</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>m</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>c</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>L</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(32)</label>
</disp-formula>
<disp-formula id="e33">
<mml:math id="m105">
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>z</mml:mi>
<mml:mo>&#xa8;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(33)</label>
</disp-formula>
</p>
<p>The coefficient parameter c, the torque around the center of gravity, exists as a constant value, which is a negative value after landing and is close to 0 before landing regardless of the stepping&#x20;width.</p>
</sec>
<sec id="s5-2">
<title>Verification of Stepping and Braking Motion</title>
<p>In this study, as the first step to model continuous walking, motion measurement, motion analysis, and controller identification were performed for the stepping and braking motion, which can be said to be the most basic walking motion. It is an operation that breaks the stable standing state by itself and accelerates in the direction of travel, and at the same time, moves one foot in the direction of travel and stabilizes the center of gravity after the swing leg lands. The balance control model of human stepping and braking motion identified in the previous research was reproduced with this system using the Xsens motion capture system and the M3D force plate. Subject 1 (<xref ref-type="table" rid="T1">Table&#x20;1</xref>) was measured for stepping and braking motion. From the standing position, the stepping motion was measured 10&#x20;times at a stride interval of 0.1 [m] from 0.1 [m] to 0.6 [m]. In the previous research, foot takeoff and foot landing were measured so that the foot was horizontal to the ground, but this time, in consideration of the development to continuous walking, natural takeoff and landing should be performed. bottom. <xref ref-type="disp-formula" rid="e32">Eq. 32</xref> was modeled using the information of Xsens. The movement was measured by setting a goal for the stride length, but in order to obtain a detailed stride length, it is estimated offline from the measurement results. The foot position is <inline-formula id="inf69">
<mml:math id="m106">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and target stepping position <inline-formula id="inf70">
<mml:math id="m107">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>d</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> in <xref ref-type="disp-formula" rid="e29">Eq. 29</xref> are estimated offline from the measurement results.</p>
<p>The calculation of the actual ZMP for verification was derived by <xref ref-type="disp-formula" rid="e34">Eq. 34</xref> using the data of the Xsens motion capture system and the M3D force plate. The ground reaction force value was converted to the value of the global coordinate system by the IMU sensor mounted on the M3D, and the provided data was used. When <inline-formula id="inf71">
<mml:math id="m108">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, reaction force <inline-formula id="inf72">
<mml:math id="m109">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and reaction torque <inline-formula id="inf73">
<mml:math id="m110">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (i &#x3d; 1&#x20;&#x223c;4) are measured at each of the four sensor positions, ZMP <inline-formula id="inf74">
<mml:math id="m111">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, torque <inline-formula id="inf75">
<mml:math id="m112">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>z</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>Z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> acting around ZMP <inline-formula id="inf76">
<mml:math id="m113">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is expressed as follows.<disp-formula id="e34">
<mml:math id="m114">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mi>N</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mi>i</mml:mi>
<mml:mi>N</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(34)</label>
</disp-formula>
</p>
<p>
<xref ref-type="fig" rid="F13">Figure&#x20;13</xref> shows the time-series stepping and braking motion data of the center of gravity position <inline-formula id="inf77">
<mml:math id="m115">
<mml:mi>x</mml:mi>
</mml:math>
</inline-formula>, velocity <inline-formula id="inf78">
<mml:math id="m116">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>, and ZMP <inline-formula id="inf79">
<mml:math id="m117">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. In the figure, the red line shows the graph estimated from the sensor value, and the blue line shows the result modeled by <xref ref-type="disp-formula" rid="e32">Eq. 32</xref>. Referring the previous work with Sugihara et&#x20;al., the eigenvalues <inline-formula id="inf80">
<mml:math id="m118">
<mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are constrained by <inline-formula id="inf81">
<mml:math id="m119">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>8.67</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and the optimum value, <inline-formula id="inf82">
<mml:math id="m120">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2.16</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> was extracted by simulation using the data. In <xref ref-type="fig" rid="F11">Figure&#x20;11</xref>, all the data are displayed with the landing position of the stepped foot aligned.</p>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption>
<p>Modeled COM-dCOM-ZMP for stepping and breaking motion.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g013.tif"/>
</fig>
<p>Results estimated values modeled by <xref ref-type="disp-formula" rid="e32">Eq. 32</xref> are accurately modeled for (a) the phase up to Heel-Contact of the swing leg, (b) the phase immediately after Heel-Contact, and (c) the phase of braking the center of gravity. It was also confirmed on this measurement system that each locus after heel contact, which was confirmed in the previous research, has almost the same shape (<xref ref-type="fig" rid="F13">Figure&#x20;13</xref>). Previous research results show that each locus after heel contact has almost the same shape. Therefore, it is confirmed that the measured stepping and braking motion are controlled by the same mechanism as the results of previous studies. By experimental verification of this stepping and braking motion, it was reconfirmed that if the position and velocity of the center of gravity are known by the stepping motion, the balance state before and after landing can be estimated using this&#x20;model.</p>
</sec>
</sec>
<sec id="s6">
<title>Modeling Straight-Ahead Continuous Walking</title>
<sec id="s6-1">
<title>Analysis of Stepping and Breaking Motion</title>
<p>In the stepping and braking action performed in the previous study, the subject intentionally loses balance from a stable standing position and accelerates in the direction of travel. At the same time, by stepping one foot out in the direction of travel, the basal plane supported by both feet is expanded and returned to a stable state. The series of stepping and braking motions were modeled with a classified linear state feedback controller based on the center-of-gravity-ZMP model. In order to model simple motions, constraints were set such that the landing position and timing of the foot stepping out in the direction of travel were fixed, and the foot landed horizontally on the floor. The stepping and braking motions are combined with static elements such as walking start and walking stop, but they are not considered to contain dynamic elements necessary for modeling continuous walking. In order to construct a balance control model for continuous walking, the following points need to be considered.<list list-type="simple">
<list-item>
<p>A) The landing position and timing of the foot change arbitrarily</p>
</list-item>
<list-item>
<p>B) When landing, the landing position changes when the foot touches the ground from the heel and becomes horizontal to the&#x20;floor.</p>
</list-item>
</list>
</p>
<p>
<xref ref-type="fig" rid="F14">Figure&#x20;14</xref> shows the result of applying the walking phase classification algorithm to stepping and braking motion. The phase of walking starts from Terminal Stance and there is no boundary between Terminal Stance and Pre-Swing. In the Swing phase, Initial Swing and Mid-Swing are activated at the same time. We have confirmed the identification of Loading Response from Terminal Swing and subsequent Heel Contact. <xref ref-type="fig" rid="F15">Figure&#x20;15</xref> shows the modeled COM-dCOM-ZMP with estimated gait phase. The characteristics of stepping and braking motion are that there is no boundary between Terminal Stance and Pre-Swing in the stance phase, and there is no boundary between Initial Swing and Mid-Swing in the Swing phase. These are typical features found at the beginning of walking. In addition, the state in which Moment Stabilization works significantly after Loading Response is a pattern peculiar to braking operation. On the other hand, in the continuous walking state, seven phases of Loading Response, Mid-Stance, Terminal Stance, Pre-Swing, Initial Swing, Mid-Swing, and Terminal Swing occur in synchronization with the left and right feet at regular intervals. Therefore, it can be considered by dividing it into three states of walking start, continuous walking, and walking&#x20;stop.</p>
<fig id="F14" position="float">
<label>FIGURE 14</label>
<caption>
<p>Gait analysis of stepping and braking motion.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g014.tif"/>
</fig>
<fig id="F15" position="float">
<label>FIGURE 15</label>
<caption>
<p>Modeled COM-dCOM-ZMP and gait phase analysis.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g015.tif"/>
</fig>
</sec>
<sec id="s6-2">
<title>Modeling Straight-Ahead Continuous Walking</title>
<p>In the case of continuous walking, the first step is caused by the transition from a stationary state to a stepping motion. After the heel of the swing leg lands, it temporarily moves to the stabilization phase, but since the center of gravity accelerates in the direction of travel without any significant braking action, it moves to the destabilization phase again. At the same time, the opposite foot moves to the next step, and after the heel of the swinging leg lands, it moves to the temporary stabilization phase. The balance control model of continuous walking differs from the balance control model of the stepping and braking motion in that even if the target foot lands and brakes in a stable state, the speed of the center of gravity does not reach zero and becomes unstable again. Therefore, continuous walking is an operation established by repeating the stabilizing and destabilizing action phases. Continuous walking can be defined by the balance control model switching between the left and right foot gait phases. In this study, the left and right balance control models were constructed as follows, and switched by the gait phase of the left and right foot.<disp-formula id="equ5">
<mml:math id="m121">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>Z</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>L</mml:mi>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>L</mml:mi>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>L</mml:mi>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msub>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>L</mml:mi>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="equ6">
<mml:math id="m122">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>L</mml:mi>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2261;</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>L</mml:mi>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>d</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>L</mml:mi>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>L</mml:mi>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2261;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>L</mml:mi>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>L</mml:mi>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2d9;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mi>R</mml:mi>
<mml:mi>L</mml:mi>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(35)</label>
</disp-formula>
</p>
<p>In order to switch the left and right balance control models by the timing of the gait phase of the left and right foot, the following combinations of the start and end timing of switching were considered.<list list-type="simple">
<list-item>
<p>A) Start timing: toe-off/end timing: heel contact</p>
</list-item>
<list-item>
<p>B) Start timing: toe-off/end timing: toe-off on the opposite&#x20;side</p>
</list-item>
<list-item>
<p>C) Start timing: heel contact on the opposite side/End timing: heel contact</p>
</list-item>
</list>
</p>
<p>In this study, we applied the timing of the Gait phase estimated by the Gait phase Detection Algorithm constructed in this study using the measurement data acquired from the Xsens motion capture system and the M3D force plate, and simulated switching between the left and right balance control models. As a result, we adopted the start and end timing of&#x20;B).</p>
<p>
<xref ref-type="fig" rid="F16">Figure&#x20;16</xref> shows the start and end timing of balance control model for each leg. <xref ref-type="fig" rid="F17">Figure&#x20;17</xref> shows the algorithm which was developed for continuous walking. The walking data (<xref ref-type="fig" rid="F8">Figure&#x20;8</xref>: Walk Type 1) of subjects 1, subject 2 and subject 3 in <xref ref-type="table" rid="T1">Table&#x20;1</xref> were used for six straight steps and 10 trials. The timing of Toe-Off was derived in advance from the measured time-series data, and the balance control model was switched at the timing of Toe-Off of the left and right feet. The timing of the next Heel Contact was also derived from the measured time series data. We divided the sections before and after the Heel Contact of the stepping foot and estimated the system parameters <inline-formula id="inf83">
<mml:math id="m123">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf84">
<mml:math id="m124">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b6;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and the control parameter <inline-formula id="inf85">
<mml:math id="m125">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>P</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> in each section.</p>
<fig id="F16" position="float">
<label>FIGURE 16</label>
<caption>
<p>Gait timing to compute balance control model. <bold>(A)</bold> Gait Phase: Walk Start. <bold>(B)</bold> Gait Phase: Continuous Walk. <bold>(C)</bold> Gait Phase: Walk Stop.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g016.tif"/>
</fig>
<fig id="F17" position="float">
<label>FIGURE 17</label>
<caption>
<p>Process to generate balance control&#x20;model.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g017.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F18">Figure&#x20;18</xref> shows the ZMP estimation result by the sensor (red line) and the result of the ZMP model of this method (blue line) with the three trials during the measurement of each subject&#x2019;s 10 trials. Subject 1 and subject 2 are similar in body shape and height at about 1.65 [m], and subject 3 has a height of 1.80 [m] or more and a slim body shape. In <xref ref-type="fig" rid="F18">Figure&#x20;18</xref>, the ZMP estimation result based on the sensor value is shown by the red line and the estimation result of the model by this method is shown by the blue line. The estimation results by the model do not consider the discontinuous behavior of ZMP due to the switching of the support legs and are displayed as continuous behavior. By wearing the measuring instrument, it is presumed that the movement of the subject 2 was not a natural movement. On the other hand, although there is a large difference in height between subject 1 and subject 3, it can be seen that walking is similar. <xref ref-type="fig" rid="F19">Figures 19A&#x2013;C</xref> show a plot of a modeled COM-dCOM-ZMP with N &#x3d; 3. In addition, <xref ref-type="fig" rid="F19">Figure&#x20;19D</xref> shows a balance control model with N &#x3d; 3 and 10 trials, respectively. It can be seen that the constructed model can reproduce the ZMP estimation value by the sensor from the standing position to the walking state, the continuous walking state, and the continuous walking state to the walking stop. The model constructed by this method is effective as a model for estimating the balance control state in a straight walk&#x20;state.</p>
<fig id="F18" position="float">
<label>FIGURE 18</label>
<caption>
<p>The data for each of the 3 trials for each subject.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g018.tif"/>
</fig>
<fig id="F19" position="float">
<label>FIGURE 19</label>
<caption>
<p>Plot of modeled COM-dCOM-ZMP for straight ahead walk. <bold>(A)</bold> subject1 (model/actual). <bold>(B)</bold> subject2 (model/actual). <bold>(C)</bold> subject3 (model/actual). <bold>(D)</bold> model (subject1/subject2/subject3).</p>
</caption>
<graphic xlink:href="frobt-09-757630-g019.tif"/>
</fig>
</sec>
</sec>
<sec id="s7">
<title>Extension to Continuous Walking Including Curves</title>
<p>Based on the constructed balance control model, the model can also be extended to gait other than straight-ahead walking. The model extension considered the following:<list list-type="simple">
<list-item>
<p>A) The movement of the foot during walking can be regarded as the anteroposterior and lateral movement around the local coordinate system fixed to the&#x20;trunk.</p>
</list-item>
<list-item>
<p>B) While walking, the swing leg side of the waist rotates in the direction of travel, and the support leg side of the waist rotates in the direction of the support legs. On the other hand, the chest above the waist generally faces the direction of travel.</p>
</list-item>
</list>
</p>
<p>Based on the above, the following preconditions were set to extend the algorithm to walking other than straight-ahead walking.</p>
<sec id="s7-1">
<title>Prerequisites</title>
<p>Define a local coordinate system centered on the position of the waist projected onto the ground, with the front of the chest as the X-axis and the vertical upward as the Z-axis. Build a balance control model with walking motion with the X-axis direction as the traveling direction in the local coordinate system.</p>
<p>The movement of the foot during walking can be regarded as the anterior-posterior and lateral movement around the local coordinate system fixed to the trunk. In order to support walking other than straight ahead, motion data measured in the global coordinate system is converted into a local coordinate system fixed to the trunk above the waist regardless of the direction of travel, and the balance state is estimated in the local coordinate system. Regarding the balance during walking, it was considered that the change in the anteroposterior movement had a greater effect on the balance than the change in the lateral movement of the foot. For this reason, we built a balance control model that focuses only on the traveling direction (front-back direction) of the local coordinate system fixed to the trunk. Ten trials of straight-ahead, 90-degree curve, and straight-ahead line measurements were performed on the same three subjects as the straight-ahead data measurement. The measured data was converted to a local coordinate system. The algorithm of the balance control model of straight walking was converted into a local coordinate system and modeled. <xref ref-type="fig" rid="F20">Figure&#x20;20</xref> shows typical measurement results. In <xref ref-type="fig" rid="F20">Figure&#x20;20</xref>, COM-dCOM were converted into the global coordinate system for visual effects. In <xref ref-type="fig" rid="F20">Figure&#x20;20</xref>, the measured ZMP is shown by the red line and the model ZMP is shown by the green line. A coordinate system in the direction of travel of the global coordinate system. In each figure, it is rotated 90&#xb0; to the right near the midpoint, but it can be seen that the balance control model modeled by this method can follow the measured ZMP before and after that. In continuous walking, we confirmed that the model can be expanded by targeting the balance of the direction of travel in the local coordinate system with the direction of the chest as the direction of travel.</p>
<fig id="F20" position="float">
<label>FIGURE 20</label>
<caption>
<p>Plot of modeled COM-dCOM-ZMP for straight-90 deg turn-straight&#x20;walk.</p>
</caption>
<graphic xlink:href="frobt-09-757630-g020.tif"/>
</fig>
</sec>
</sec>
<sec id="s8">
<title>Summary</title>
<p>In this study, we constructed a balance control model for continuous walking by referring to the balance control model modeled by stepping and braking motion in the previous study.<list list-type="simple">
<list-item>
<p>1. In order to build a balance control model for continuous walking, we built a mobile measurement environment using the Xsens Motion Capture System and the M3D Force Plate System.</p>
</list-item>
<list-item>
<p>2. Using the constructed measurement environment, we measured the continuous gait of three subjects, identified the Gait phase by Perry&#x2019;s Gait Analysis, and performed gait analysis.</p>
</list-item>
<list-item>
<p>3. Using the constructed measurement environment, verification of stepping and braking motion performed in the previous research, identification of gait phase, and gait analysis were performed.</p>
</list-item>
<list-item>
<p>4. From the walking analysis results of continuous walking and the walking analysis results of stepping and braking motion, the balance control model constructed by stepping and braking motion is developed at the timing of walking start, the timing of continuous walking, and the timing of walking stop. went. At the same time, the balance control model constructed by stepping and braking motion was extended to the left and right feet, and the timing of switching between the left and right models was examined.</p>
</list-item>
<list-item>
<p>5. The constructed balance control model for continuous walking was verified using the data of straight walking of three subjects. It was confirmed that the balance control model of continuous walking can accurately follow the ZMP estimated from the sensor in the state of starting walking, continuous walking, and stopping walking.</p>
</list-item>
<list-item>
<p>6. The balance control model for continuous walking in a straight line was modeled in a local coordinate system centered on the position where the waist was projected on the ground and the front direction of the chest was the X-axis direction. It was confirmed that this balance control model can be extended to the direction change during walking by modeling the behavior of the foot in the anteroposterior direction in the local coordinate system.</p>
</list-item>
</list>
</p>
<p>From the above, in continuous walking, by setting the next landing position and timing of each step, it was possible to construct a framework for modeling the balance state from before and after Toe-Off to after Heel Contact. By using this model, it is considered possible to continuously estimate whether or not the balance state is stable by comparing the deviation between the predicted balance control state and the actual balance state. It is also possible to consider a case where the deviation between the estimation of the balance control model and the actual balance state is large as a state leading to a fall. On the other hand, it is not easy to accurately set the next landing position and timing of each step. In this project, we are also predicting the next landing position and timing by machine learning, and it is a future task to build a balance control model using the prediction by machine learning (<xref ref-type="bibr" rid="B13">Yoshikawa, 2020</xref>).</p>
</sec>
</body>
<back>
<sec id="s9">
<title>Data Availability Statement</title>
<p>The datasets presented in this article are not readily available because Approval of company&#x2019;s publication management team is required. Requests to access the datasets should be directed to <email>taizo_yoshikawa@jp.honda</email>.</p>
</sec>
<sec id="s10">
<title>Ethics Statement</title>
<p>Ethical review and approval was not required for the study on human participants in accordance with the local legislation and institutional requirements. The patients/participants provided their written informed consent to participate in this study. Written informed consent was obtained from the individual(s) for the publication of any potentially identifiable images or data included in this article.</p>
</sec>
<sec id="s11">
<title>Author Contributions</title>
<p>TY has extended the balance control model of stepping and braking motion to a model of continuous gait through measurement, analysis, and modeling based on human gait analysis.</p>
</sec>
<sec sec-type="COI-statement" id="s12">
<title>Conflict of Interest</title>
<p>Author TY was employed by the company Honda R&#x26;D Co. Ltd. The author declares that this study received funding from Honda R&#x26;D Co., Ltd. The funder had the following involvement in the study: approval of research proposals, provision of equipment necessary for research promotion, providing joint research costs, and evaluation of research results.</p>
</sec>
<sec sec-type="disclaimer" id="s13">
<title>Publisher&#x2019;s Note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ack>
<p>This research applies the results of a joint research project (2018&#x2013;2019) between Honda R&#x26;D Japan and Osaka University, Graduate School of Engineering, <ext-link ext-link-type="uri" xlink:href="http://www.ams.eng.osaka-u.ac.jp/index-en.html">Dpt. of Adaptive Machine Systems</ext-link>, Motor Intelligence Lab Sugihara Laboratory. I would like to thank Dr. T. Sugihara for his advice on building a balanced model of the stepping and braking motion, and M. Kojima for systematizing the theory of the stepping and braking motion, measurement, model construction. I would like to thank Dr. T. Takenaka for supporting the project. I would like to thank the members and subjects of Honda R&#x26;D Japan Frontier Robotics for helping with the measurement.</p>
</ack>
<fn-group>
<fn id="fn1">
<label>1</label>
<p>
<ext-link ext-link-type="uri" xlink:href="https://www.tecgihan.co.jp/en/products/force-plate/small-for-shoes/m3d-force-plate-wired/">https://www.tecgihan.co.jp/en/products/force-plate/small-for-shoes/m3d-force-plate-wired/</ext-link>
</p>
</fn>
<fn id="fn2">
<label>2</label>
<p>
<ext-link ext-link-type="uri" xlink:href="https://www.xsens.com/">https://www.xsens.com/</ext-link>
</p>
</fn>
</fn-group>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ae</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>H.-p.</given-names>
</name>
<name>
<surname>Yokoi</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>1992</year>). <article-title>Estimation of Inertia Properties of the Body Segments in Japanese Athletes</article-title>. <source>Biomechanisms</source> <volume>11</volume>, <fpage>23</fpage>&#x2013;<lpage>33</lpage>. <pub-id pub-id-type="doi">10.3951/biomechanisms.11.23</pub-id> </citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Harada</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Kajita</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Kaneko</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Hirukawa</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>An Analytical Method on Real-Time Gait Planning for Humanoid Robots</article-title>. <source>Int. J.&#x20;Humanoid Robotics</source> <volume>3</volume> (<issue>1</issue>), <fpage>1</fpage>&#x2013;<lpage>19</lpage>. <pub-id pub-id-type="doi">10.1142/s0219843606000643</pub-id> </citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kajita</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>From Inverted Pendulum to Biped Locomotion</article-title>. <source>JRSJ</source> <volume>27</volume> (<issue>4</issue>), 392&#x2013;395. </citation>
</ref>
<ref id="B4">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Kojima</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2019</year>). <source>Identification of a Step-And-Brake Controller of a Human Based on COM-ZMP Model and Terminal Capturability Condition</source>. <publisher-loc>Osaka</publisher-loc>: <publisher-name>Osaka University master thesis</publisher-name>. </citation>
</ref>
<ref id="B5">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Murai</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Sugihara</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>Identification of COM Control Behavior of a Human in Stance as a Dynamical System</article-title>,&#x201d; in <conf-name>Proceedings of the 2020 IEEE-EMBC International Conference on Biorobotics &#x26; Biomechatronics (under review)</conf-name>. <pub-id pub-id-type="doi">10.1109/biorob49111.2020.9224431</pub-id> </citation>
</ref>
<ref id="B6">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Perry</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2010</year>). <source>Gait Analysis : Normal and Pathological Function</source>. </citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pratt</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Carff</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Drakunov</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Goswami</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2006</year>). &#x201c;<article-title>Capture Point: A Step toward Humanoid Push Recovery</article-title>,&#x201d; in <conf-name>Proceeding of the 2006 IEEE-RAS International Conference on Humanoid Robots</conf-name>, <fpage>200</fpage>&#x2013;<lpage>207</lpage>. </citation>
</ref>
<ref id="B8">
<citation citation-type="web">
<person-group person-group-type="author">
<name>
<surname>Saito</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Gait Analysis and Motion Analysis</article-title>. <comment>Available at: <ext-link ext-link-type="uri" xlink:href="http://www.fujita-hu.ac.jp/%7Erehabmed/contents/s_reha_ken/GaitAnalysis1007Sec.pdf">http://www.fujita-hu.ac.jp/&#x223c;rehabmed/contents/s_reha_ken/GaitAnalysis1007Sec.pdf</ext-link>
</comment>. </citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sugihara</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Nakamura</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>High Mobility Control of Humanoid Robots Based on an Analogy of ZMP-COG Model and Carted Inverted Pendulum Mode</article-title>. <source>JRSJ</source> <volume>24</volume> (<issue>1</issue>). <pub-id pub-id-type="doi">10.7210/jrsj.24.74</pub-id> </citation>
</ref>
<ref id="B10">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Sugihara</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Yamamoto</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2017</year>). &#x201c;<article-title>Foot-guided Control of a Biped Robot that Guarantees Standing Stability at Landing</article-title>,&#x201d; in <conf-name>Proceedings of 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems</conf-name>, <fpage>4546</fpage>&#x2013;<lpage>4551</lpage>. </citation>
</ref>
<ref id="B11">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Takenaka</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Matsumoto</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Yoshiike</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2011</year>). <source>Real-time Walking Gait Generation for Biped Robot</source>. <publisher-loc>Tokyo</publisher-loc>: <publisher-name>Journal of the Robotics Society of Japan</publisher-name>. </citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Takenaka</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2009</year>). &#x201c;<article-title>Real Time Motion Generation and Control for Biped Robot&#x20;-1st Report: Walking Gait Pattern Generation</article-title>,&#x201d; in <conf-name>2009 IEEE/RSJ International Conference on Intelligent Robots and Systems</conf-name>. </citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yoshikawa</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>Human Movement Understanding: Human Balance Control Modeling</article-title>,&#x201d; in <conf-name>IROS 2020 Workshop of Human Movement Understanding for Advanced Robots and Systems</conf-name>. </citation>
</ref>
</ref-list>
</back>
</article>