Generalization of movements in quadruped robot locomotion by learning specialized motion data

Machines that are sensitive to environmental fluctuations, such as autonomous and pet robots, are currently in demand, rendering the ability to control huge and complex systems crucial. However, controlling such a system in its entirety using only one control device is difficult; for this purpose, a system must be both diverse and flexible. Herein, we derive and analyze the feature values of robot sensor and actuator data, thereby investigating the role that each feature value plays in robot locomotion. We conduct experiments using a developed quadruped robot from which we acquire multi-point motion information as the movement data; we extract the features of these movement data using an autoencoder. Next, we decompose the movement data into three features and extract various gait patterns. Despite learning only the “walking” movement, the movement patterns of trotting and bounding are also extracted herein, which suggests that movement data obtained via hardware contain various gait patterns. Although the present robot cannot locomote with these movements, this research suggests the possibility of generating unlearned movements.


Background
In nature, animals adapt their behavior to changes in the surrounding environment. This ability is not limited to animals: it is also required for robots. Thus, machines that are sensitive to environmental fluctuations, such as autonomous robots and pet robots, are now in demand, thereby making it increasingly important to be able to control systems that are both huge and complex. However, it is difficult to control all of such a system with one control device, and it is important that the system is both diverse and flexible. Studies have been conducted into system configurations and control methods to address those issues, and many of those studies were focused on robot locomotion. In particular, gait-pattern transitions corresponding to the surrounding environment of quadruped (four-legged) animals, the gaits of which have long been observed and analyzed in detail [1][2][3][4][5][6][7][8][9], have attracted much attention in recent years [10][11][12][13][14][15].
Quadruped locomotion is classified into various gait patterns such as walking, trotting, and bounding ( Fig. 1) [1]. The simple basic motion (e.g., walking, flying) of animals has multiple patterns; however, most are a combination of multiple periodic phenomena. Additionally, rich repertoires of complex behaviors are created from the flexible combination of a small set of modules [16][17][18][19][20][21]. Looking at a different classification like these names already suggests that there is something qualitatively different between these movements. Besides, it is known that a quadruped tends to select the optimum gait pattern according to the speed at which it moves [2,3,22]. In addition, the locomotion speed changes continuously, whereas the change in a locomotion pattern is discontinuous; however, the animal suddenly changes its gait without falling over. The investigation of gait transitions in quadrupeds has a long history. Various observation methods have been used to study the limb coordination Open Access *Correspondence: ikemoto@meijo-u.ac.jp Faculty of Science and Technology, Department of Mechanical Engineering, Meijo University, Nagoya, Japan in different gaits at the macroscopic level [1][2][3][22][23][24][25]. For example, the reported factors causing gait switching include energy-related ones (i.e., minimizing energy costs) [2], durability ones (i.e., protection from overload) [23], environmental and morphometric ones [22], and mathematical ones [26]. Furthermore, the neural control of locomotion and coordination has been studied [5-9, 27, 28]. Experiments using decerebrate cats can be cited as examples of studies to understand gait transitions in quadrupeds [7,8]. In such experiments, although the cats cannot walk voluntarily, they can walk on a treadmill when electrical stimulation is applied below the midbrain; furthermore, they change their gait pattern according to their speed. Those experiments suggest that locomotion occurs autonomously at a rather low level, such as in the cerebellum and the spine, rather than being instructed at a high level such as in the cerebrum. The process whereby animal gait patterns are generated will be an interesting debate in the future given its relation to the generation of robot behavior.
Many studies of robot systems refer to biological control systems and attempt to create various movements by configuring the robot controller with either a central pattern generator (CPG) or some type of oscillator [10-15, 29, 30]. Indeed, a quadruped robot for which the CPG model was used successfully generated and transitioned to various gait patterns [10,11]. However, regarding using a CPG to generate movement, although it is possible to realize periodic motion considering synchronization with the outside world, it is difficult to adjust the parameters to realize the desired movement. In particular, in a large-scale system such as one required for movement, innumerable variables are intertwined in complicated ways, and from among those relationships it is difficult to select a priori the required input/output relationship. The issue of input/output determination cannot be potentially ignored when a target motion is regarded as one of the outcome by kinds of control systems. It seems to be worth investigating from the viewpoint of not only control systems but also datasets of motion.
Meanwhile, by using system theory to focus on the system design and by analyzing possible system behaviors and trajectories, a behavioral approach has been proposed [31][32][33]. In this approach, system design and analysis are performed using a set of temporal trajectories of the physical variables of the system without assuming an input/output relationship. Herein, we use the behavioral approach to construct a natural and flexible theoretical framework for analyzing the input/output relationship by means of machine learning. First, we give some examples of previous research that used system behaviors and trajectories [34][35][36][37][38][39][40][41][42]. In one case, focusing on only human motion trajectories, an unlearned motion pattern was generated by learning two types of movement [37,40,41]. In another case, the two basic stepping patterns in neonates were retained through development, augmented by two new patterns first revealed in toddlers [34]. In the aforementioned studies, motion experiments were used to produce angle or electromyography data, and only those data were used to extract movement features. However, motion involves many other parameters, including acceleration and leg sense. In the present research, we use not only trajectories but also hardware that can acquire force/speed information online at high speed from sensors and actuators. We then decompose the gait patterns of a quadruped robot into lower levels (e.g., latent features) by performing feature-quantity analysis based on machine learning. In the present paper, we report on a theoretical study of the coordination patterns that are inherent in the gaits of quadrupeds. We concentrate specifically on interlimb coordination by introducing a description that captures the relative timing of the rhythmic movements of the four limbs. Our aims are to derive and analyze the feature values of robot sensor and actuator data and to investigate the role that each feature value plays in robot locomotion. We also conduct experiments using a developed quadruped robot from which we acquire multipoint motion information as the movement data, and we extract the features of those movement data using an autoencoder. From this, we decompose the movement data into three features and extract multiple different gait patterns. Despite learning only walking movement, the movement patterns of trotting and bounding are also extracted, which suggests that movement data obtained via hardware contain various gait patterns. Although the present robot can neither trot nor bound, this research suggests the possibility that one specific motion can reveal unlearned movements via hardware experiments. However, we use language that is operational in nature so that the basic concepts are well-defined experimentally and can be applied also to the study of actual (i.e., nonidealized) gaits.

Animal gait patterns
In this section, as preparation for the reported research, we describe those movements that are common to both quadruped animals and the present robot. The gait patterns are defined by the leg patterns shown in Fig. 1; each gait pattern shows the differences among the left foreleg (LF), the right foreleg (RF), the left hind leg (LH), and the right hind leg (RH). The movement of each leg is classified as being in either the stance phase (in which the foot is in contact with the ground) or the swing phase (in which the foot is lifted and moved forward).
The classification of locomotion patterns is stated below with reference to previously conducted studies in the literature [1]. Walking is a gait pattern that appears at low speed, wherein two or more legs are always in the stance phase. The legs operate in the sequence of RH, RF, LH, LF, and the phase difference of each leg is a quarter. Pacing appears at a slightly higher speed than that of walking. At any time in this gait pattern, one fewer leg is in the stance phase compared to walking. Furthermore, the legs on the left side move in unison, as do those on the right side but with the opposite phase to those on the left. Trotting is a gait pattern that appears at medium speed. It is similar to pacing except that now it is diagonal legs that are in pairs and operate in antiphase. Bounding (and galloping) is a gait pattern that appears at high speed. The specific order in which the legs move depends on the species of animal being considered; however, in each case the forelegs and the hind legs emphasize with almost the same phase. Strictly speaking, motion in which the forelegs and the hind legs emphasize with almost the same phase is classed as bounding. There is also a gait pattern known as pronking, in which all the legs operate in phase (e.g., springboks, kangaroos). There are many other gait patterns besides the aforementioned ones; however, herein we focus only on these.

Robot gait patterns
Here, we define robot gait patterns to determine the movement in which the robot is to be moved. Furthermore, in this study, a gait pattern (movement) is evaluated by focusing only on the phase differences among the leg motions. At that time, because the phase relation of given gait patterns does not consider whether to actually locomote, we considered this as an element of the gait and defined each phase.
In practice, locomotion patterns are often stated by control schemes through feasible locomotion. In contrast, our method for investigating the resultant behaviors does not originate from the feasible locomotion itself but from the possibility for feasible locomotion. Regarding the possibility, we classified resultant movements based on the relative phase differences between the rhythmic movements of the robot's legs.
When the legs are operated in the sequence of RH, RF, LH, LF, this is taken as walking. When the legs on the left side are moved in unison, as are those on the right side but with the opposite phase to those on the left, this is taken as pacing. When the same is done but with the two diagonal pairs of legs, this is taken as trotting. When the forelegs and the hind legs emphasize with almost the same phase, this is taken as bounding. Finally, when all the legs emphasize with almost the same phase, this is taken as pronking.

Hardware development Quadruped robot
To investigate the movement of the robot accurately, we realize various gait patterns, which requires hardware with high-speed motor control and sensing capabilities. In this research, we conduct experiments using a developed quadruped robot (Fig. 2a) from which we acquire multi-point movement information (Table 1). When stabilizing the posture of the robot and controlling the positions of its legs, if the number of degrees of freedom (DOFs) is large, the necessary information becomes very complicated. Therefore, in this study, we set two DOFs for each leg.

Position control of toes
To control a leg by inputting its position, each joint angle is obtained from the leg position by inverse kinematics. There are two types of leg, namely left-handed and righthanded ones (Fig. 3, Table 2), and each expression was obtained using inverse kinematics. Furthermore, the leg trajectory is set to a semi-ellipse whose major axis is parallel to the ground.

Sensors and actuators
The controlling actuators and monitoring sensor data are performed via main micro controller equipped the robot as shown in Fig. 4. The actuator of each joint (Dynamixel MX-64; Robotis) has a high maximum torque of 6 Nm, allows serial communication, and has a maximum control cycle of 10 kHz. The absolute angle of the motor is measured by a built-in absolute encoder and is also estimated and measured from the angular velocity and the torque applied to the motor as the current value. A gyro sensor and an acceleration sensor are fixed and set near the center of the trunk and provide measurements in each of the X, Y, and Z axes. The positive direction of the X axis is fixed toward the f of the body. A load cell (Nitta Co., Ltd.) is mounted on each leg, and the sensor value is obtained using a voltage-divider circuit; the    circuit diagram of the leg pressure sensor is shown in Fig. 2b. The resistance in the voltage-divider circuit is set to 10 KΩ. Overall, the developed robot provides 34 types of sensor value, and all the movement information is obtained online at intervals of 25 ms. To perform the whole experiment, we used the premise of a robot moving on a treadmill, as shown in Fig. 5.

Extraction of feature quantities
In this research, we use an autoencoder [43] to extract the features of the movement data. An autoencoder is a neural network that acquires the characteristics of data by learning to make the input data and the output data the same. The effect of an autoencoder is broadly the same as that of principal component analysis; however, an autoencoder has much greater representational capabilities because it can perform nonlinear feature extraction. Also, an autoencoder is not limited to normally distributed data and does not assume that the "principal components" [44] are perpendicular, thereby making it possible to extract the feature quantities of data while losing little of the quality of the original data. The structure of the autoencoder was empirically determined through pretests (as explained in "Neural-network structure of autoencoder" section). In most cases, several unusual gaits often appeared based on the its structures. In practice, we continued to seek relevant gaits until the obvious motion dataset was obtained. Then, we chose a specific autoencoder that displayed well-known gait patterns. Furthermore, we recorded datasets from the same 12 experiments for each condition. This methodological sequence stands on the research objective of decomposing one movement to several notable movements, displaying significant phase differences between the robot's leg movements. Figure 6 shows the structure of the autoencoder used in this study. Comprising encoder networks and decoder networks, an autoencoder is a neural network that learns features from unlabeled data. As Fig. 6 shows, this network contains seven layers, namely an input layer, hidden-layers 1-5, and an output layer. The weights used to encode the entire network and those used for decoding are related transpositionally. Furthermore, regularization (L2 norm [45]) to express with fewer feature quantities is applied to the entire network. The weight between the input layer and hidden-layer 1 is defined as W1, that between hidden-layers 2 and 3 is defined as W2, and so on for weights W3, W4,W5,and W6. We employed symmetric autoencoder (it provides W6 = W1 T , W5 = W2 T , and W4 = W3 T .). A sigmoid function is used as the activation function, and a mean-squared function in outputs is used as the loss function. We select hidden-layer 3 and assess how the loss function varies with the number of neurons in that layer, as shown in Fig. 7. We choose the eventual number of neurons in the layer by assessing where the loss function increases abruptly with decrease in the number of neurons. Thus, hidden-layer 3 is considered to contain three neurons. The redundant networks are not preferred in this study since the objective involves to generalize the motions and to decompose the movement by the autoencoder. Therefore, we need to find the autoencoder with the minimum number of nodes to extract the feature of the movement data.

Neural-network structure of autoencoder
Next, we describe the detailed conditions regarding the layers and the learning. Between the input layer and hidden-layer 1, the features of each item of leg data (joint angle, joint angular velocity, joint torque) are extracted. Furthermore, because each leg has the same structure by design, we consider the same dynamic model and learn to make all weights related to each leg equal (the blue dotted lines in Fig. 6). Data related to the entire body (gyroscope, acceleration, leg pressure) are collected in a feature space that is different from that of the leg data. Between hidden-layers 1 and 2, the previously collected features of the modules of each leg are related to the features of the entire body. Because the relationship of data in each module was extracted in the previous section, we will look at the relationship between modules. Finally, between hidden-layers 2 and 3, the feature of the movement of the robot is dropped into a latent feature space.
The computation related to learnings was carried out by a standard stochastic gradient descent method, backpropagations. To improve convergence in learning, the pre-learning phases were conducted in every network weights from visible layers. Python on Anaconda was employed with the library for matrix handlings, and without any libraries for machine learnings. It takes about 15 h in each learning with CPU core i5-7300U @2.60 Ghz on a laptop.

Experimental setup
In this research, we perform experiments in which we acquire data about the robot's movements on a treadmill shown in Fig. 5. We use a PC to control the treadmill speed via a speed conversion table. During the robot walking experiments, the treadmill speed is controlled so that the robot performs its locomotion in a fixed location in the laboratory frame of reference. The robot is connected by means of wires to a pulley installed above the treadmill so that the robot can be lifted off the treadmill in the event of a malfunction; in normal operation, these wires are not in tension and do not affect the robot locomotion. There is another wire that is used to assist the walking; when the robot gets in the walking direction or the position becomes the rear part of the device, it is mounted to assist the robot with a certain force.
For each gait pattern, we use a pre-prepared computer program to realize that pattern in the robot and perform a walking experiment for 5 s. Each experiment is repeated 13 times under the same conditions, and movement data are acquired from the sensors mounted on the robot.

Results
A gait corresponds to reproducible patterns of intra-and inter-limb coordination in locomotion. The intra-limb pattern is always cyclic in nature. In this work, we are not concerned with the intra-limb patterns except for questions regarding limb trajectory, stance-swing timing, body movement, and the like. Our focus is entirely on patterns of coordination between the limbs (hip joints). In this context, it is worth noting experimental perturbation studies [7] that suggest that each multi-joint limb of a quadruped may be treated as a single functional unit.
Thus, in this study, we focus in particular on the phase differences among the leg movements. Moreover, it is shown that the cycle times of the stance phase and the hip-joint angles are almost the same [26]. Given this fact, we focus in particular on the hip movement of each toe and define the gait pattern by looking at the phase differences among the hip movements. The experiment with four neurons was tested, but remarkable results were not  Fig. S1). In practice, it was observed that the resultant data with four neurons are not replicable even through more than 13 times trials. For example, only trot gait is induced in the one test, while all gaits are generated in the other. It is considered that there is the possibility of that the dimension reduction is not adequately executed, that is, the given features are redundancy so that uneven decoding in autoencoders may evoke various results. The mainstream of this study is not to find the better learning methods, but is to decompose the movement data and represent by the real hardware. Therefore, we focus on the results by experiments with three neurons in hidden-layers 3.

Experiment to acquire walk movement data (on a treadmill)
Quadrupeds tend to change their gait patterns from walking to trotting and from trotting to bounding. Considering that walking is the first pattern to appear (at low speed in Fig. 1), we select walking in the experiment. In this experiment, the gait pattern is set to walking, the walking cycle time is set to 1 s (Additional file 2: Movie S1), and the experiment is conducted for 5 s. The sensor data are acquired averagely at intervals of 25 ms. After acquiring the movement data, the noise in the data (torque, gyro, acceleration, load cell) is removed using a low-pass filter. We assess the joint angular data to confirm that the robot was indeed walking, and we check the phase difference by looking at the peaks in the graph. Template matching is performed to check the peak values in the graph (Fig. 8). The data normalized are set to that the maximum value is equal to 1. This normalization is performed for displaying to confirm the phase differences specifically, but is not applied to the autoencoder training terms. Based on the result, the sequence RH, RF, LH, LF is confirmed, thereby confirming that the robot was indeed walking.
Furthermore, we conduct this experiment 13 times in the same process. Here, we define these data as the motion data for walking. Moreover, of the 13 sets of data acquired, we classify 12 as walking data and one as walking test data. Before training the autoencoder, we normalize the data in every dimension to have zero mean and to be in the range [0, 1].

Results of autoencoder training
To extract the features of the movement data, we train the network using the movement data from this experiment. We use the autoencoder to reduce the input dimensionality from 34 to three. After the training, we input the 5 s of walking test data into the autoencoder and, then, confirm the waveforms in hidden-layer 3 (Fig. 9). We confirm that waves with a period of 1 s and waves with a period of 0.5 s appeared.

Results of feature extraction
To determine the roles played by the extracted features, we use the neurons in hidden-layer 3 one by one by turning off the other two neurons. While observing the movement of the robot, we input the angular data in the output layer to the robot. To calculate the phase difference of each leg, we use template matching with the template and find ϕ with We adopt the ϕ with the highest match value as the phase of the graph. Here, T is the largest cycle time of the hidden-layer-3 neuron. We found that the period T become almost equal to 1.00[s]. Practically, we adopt the average of peak-to-peak intervals in each given experimental data.
We represent each phase by the angle that the hand of each circle forms with the vertical (Fig. 3), measuring negative to the left and positive to the right (Fig. 10, right panel) [26].
Before checking the neurons one by one, we check the output obtained using all the neurons in hidden-layer 3 (Fig. 10, Additional file 3: Movie S2). From the results, the sequence RH, RF, LH, LF was executed, meaning that (1) the robot was indeed walking. Thus, we reason that the training was successful because the output data are the same as the input data in the autoencoder. Next, we check the role of the features one by one. From the results, we find other patterns of movement in the feature of walking, namely pacing, trotting, and bounding movements. Each gait movement that appeared is shown in movies (see Additional file 4: Movie S3, Additional file 5: Movie S4, Additional file 6: Movie S5 online) and in Fig. 11. In the graphs on the left in Fig. 11, the peak is colored yellow. On the right in Fig. 11, the results of calculating the phase difference of each leg are shown. In Fig. 11a, the right and left legs move with opposite phases, and this phase difference in each leg is the same as for the pacing movement. Thus, a feature of the pacing movement is found in the walking movement. In Fig. 11b, the diagonal legs move with almost opposite phases, which is the same phase difference as for the trotting movement. Here, a feature of the trotting movement is found. In Fig. 11c, the fore and hind legs move with almost opposite phases, and we argue that this feature contains an element of the bounding movement. These movements that appeared in the features differ entirely from the movement used in the training (walking data).
At the last, elements of the phase differences of other gait patterns appear despite learning with only the walking data. However, it should be noted that the robot cannot walk by itself if we use only one neuron in hidden-layer 3.

Experiment to acquire trot movement data (on a treadmill)
In addition to the experiment regarding gait patterns when moving on a treadmill, we investigated gait patterns when trotting on a treadmill under the same conditions as those in the former experiment. Template matching was performed to check the peak values in the graph (Fig. 12). Based on the result, the sequence RH, RF, LH, LF was confirmed, thus confirming that the robot was indeed trotting.
After the training, we input the 5 s of trotting test data into the autoencoder and, then, confirm the waveforms in hidden-layer 3 (Fig. 13). Likewise, in the result of walking experiment, it was confirmed that waves with a period of 1 s and waves with a period of 0.5 s appeared. In the same manner, we represent each phase by the angle that the hand of each circle forms with the vertical (Fig. 3), measuring negative to the left and positive to the right (Fig. 14,  right panel).
Next, we procedurally checked the role of the features one by one in the same manner as that used in walk gait analysis. We found that the autoencoder with trot training could involve the trot (Additional file 7: Movie S6) and pronk (Additional file 8: Movie S7) gait as show in Fig. 15. In this experiment, as trotting gait was learned in advance, the pronk gait was non-obviously generated. Compared to the walk-training case, the trot gait did not generate various gaits such as walk and pace.

Experiment to acquire walk movement data (in air)
We secure the robot to the air so that its legs do not touch the ground and its body does not move from side to side. Under these conditions, we conduct an experiment to acquire movement data, in which the robot executes the walking phase in the air (Additional file 9: Movie S8). We acquire 5 s of movement data 13 times, 12 as learning data and one as test data (hereinafter referred to as the "air data"). Under these conditions, the values obtained from the gyro, acceleration, and load-cell sensors do not change because the robot is attached to the air tightly and its body does not move. Given this, we remove these data from the neural network and check the output obtained using one neuron in hidden-layer 3 12 times. Figure 16 shows the appearance ratio of each gait pattern, in which those ratios are calculated by doing the same training 12 times. The appearance ratio was calculated the following procedures: Firstly, the in-phase legs are defined if the difference of each ψ is within 0.5. This operation regards the legs with over 0.5π phase differences as out-phase. Secondly, the gate pattern is determined based on the combinations between in-phase legs in each experimental data. Some of them display the characteristic gate patterns involving pace, trot, bound, and pronk, while there are no in-phase legs in several results. Finally, the appearance ratio is provided with percentage. Note that this procedure is applied to given data one by one. Therefore, summation of the percentage values can be over 100% when the trained autoencoder output the multiple gait patterns. Furthermore, comparing with the walking experiment performed on the treadmill, the walking data confirms that the repeatability lowered more than the ground data. In summary, motion data on the ground could hold versatile gaits; walk data could hold pace and bound, and trot data could often represent the pronk gait. However, there was no significant motion in air.

Discussion
We decomposed the movement data into three features and found elements of other movement patterns in the features of the walking movement. Despite learning only the walking movement, movement of the patterns of trotting and bounding was extracted. Although these movements could not locomote, we reason that they show the possibility of generating another gait patterns. Primarily, feasible locomotion cannot be realized because the autoencoder produces motor torque (current) outputs with low magnitude. This tendency is clearly observed because our tests were performed under inactivation of several neurons in the hidden layer. The proposed method could support finding hidden latent features in measurement datasets; however, such features are limited to a set of static orbit on a graph. Thus, it lacks information related to the absolute timescale of a movement because the datasets used for the autoencoder comprise snapshots. Despite this limitation, the proposed method seems to be effective in case of that the analysis target shows the periodic movements presented here. When the measurement data holds some rhythms, our method exposes the relative information between datasets without a decision of the input-output property in advance.
Our results are consistent with those of other theoretical works [46][47][48], which theoretically emphasize the role of motion in the main body along the roll, pitch, and yaw axes for generating gait transitions. Additionally, our results indicate the essential role of sensory feedback information as shown in Fig. 16, in which the locomotion patterns often appeared only when the main body reactions involving both gyro and acceleration together with load cells were captured by the autoencoder. To quest for the reason why different motions were respectively appeared after walking and trotting learning, we recorded every sensor dataset in both motions (Additional file 1: Fig. S2 for walk experiment and Additional file 1: Fig. S3 for trot experiment), and compared them. It is observed that the gyro sensor data in pitch involves the lower frequency rhythms (T s) in walking experiment and the high frequency data (T/2 s) in yaw and roll. Meanwhile, trot experiment comparatively demonstrates only high frequency rhythms in gyro sensors. That is to say, motions in sagittal plain are contrasting because the acceleration data in x and z axis are also inter-connected with one in pitch. This imply that the main body movement in pitch is one of the essential matter for gait patterns variations. The extra experiment based on another paradigm could clarify the role of main body motions to gait pattern generations. Our method is expected to be a tool for exploring the significance of embodied systems in locomotive robots.
Another study succeeded in generating an unlearned motion pattern using a CPG and a controller incorporating such an oscillator [10]. However, the controller had to be designed beforehand and the robot was realized by a simple mechanism with one degree of freedom. By  Fig. 10, it is confirmed that the decoder function in the network are trained in a trot gait case by comparing with the input data as shown in Fig. 12 contrast, in the present research, without considering the input/output relationship, we (i) developed a robot with a relatively complicated mechanism, (ii) extracted features of motion data by machine learning without using a controller, and (iii) successfully generated an element of an unlearned novel motion pattern. Specifically, the network learned the movement of walking, and elements of the unlearned movements of trotting and bounding were generated in feature space. From this, we reason that (i) the movement pattern of walking includes elements of the movement patterns of trotting and bounding and (ii) the generation and transition of the gait pattern could be realized by promoting these features with some form of stimulus. However, the motion generated in this study is in the form of motion patterns only, and the robot cannot locomote by itself. Furthermore, when the experiment was conducted floating in air, because the reproducibility of the appearance of other movement patterns decreased remarkably, the state of the legs and the body, the load on the joints, there is the possibility that the relationship with the socalled environment is necessary.
Notably, our work does not claim any energetic advantage for locomotion; rather, it proffers that one specific gait motion can obtain several other motions by decomposing one specific motion to find hidden motions. From these findings, we reason that the internal elements of the system changed because of the diversity and redundancy of the neural network, and that information about the dynamically changing environment and some form of self-model were created in the network. Therefore, we reason from the results that the relationship with the environment is indispensable for self-body  16 Comparing the repeatability of the results for each gait pattern. In case of walk training, pace, trot, and bound are relatively induced, while in case of trot training, trot and pronk are often generated. In contrast, by data in the air, the typical gait did not appear