{'fraction_non_alphanumeric': 0.024248784798939462, 'fraction_numerical': 0.004639858594785683, 'mean_word_length': 4.383586083853702, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 1}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
The Study of Complex Human Locomotion Behaviors: From Crawling to Walking

This paper uses a simple state machine to develop a control algorithm for controlling an infant humanoid in the context of a simple model system. The algorithm is inspired by a baby who starts learning to stand and walk at 7 to 12 months of age: he or she initially learns to crawl and then, once the lower limb muscles are strong enough, can learn to walk by coming to support his or her upper trunk. Ideally, this algorithm-supported locomotion can take the baby to any desired location: a pile of toys, a tasty snack, or the baby's parents or relatives. In this paper we analyze the crawling stage, the simple 2d bipedal model, and the initial walking form from 8 to 18 months of age, and quantitatively evaluate the ideal kinematics model and simulation results for these stages.


Introduction
"Instead of trying to produce a programme to simulate the adult mind, why not rather try to produce one which simulates the child's? If this were then subjected to an appropriate course of education one would obtain the adult brain." -Alan Turing [1] Over the last decades, the growing research in robotics has diverged into three different areas: robot manipulators, mobile robots, and biologically inspired robots [2]. In the early stages, robots were designed to perform industrial tasks such as welding, painting, and palletizing. With the thrust of military, rescue, and planetary exploration, the research of autonomous mobile-robot endows the navigation ability of robotics. Such navigation algorithm consists of the perception of the environment, localization, motion planning, and motion generation. At this point, the robots have enough intelligence to interact with their surroundings to solve challenging tasks, such as the self-driving challenge or DARPA Robotics Challenge [3,4]. Aside from traditional mobile robotics, there is a lot of interest in using biological inspiration to create new types of robots with adaptive locomotion systems. Some research groups focus on other types of locomotion, such as snake and fish systems. However, we'll focus on humanoid robots, especially baby models, due to their widespread use.
Can a robot learn like a child? How do baby learn to walk? The motivation behind this paper is dominated by the goal of producing robotics that can learn to walk like a baby. Unlike classical robotics, a promising research field in robotics called learning-based robotics is a multidisciplinary field where robotics, computer science, and psychology all meet [5].
In this paper, we modeled two classical walking and running models, based on which we have proposed a quadrupedal model, as our baby crawling model, and simulated the dynamics in the physics engine. We hope that this research will provide a simulation and experimental environment for interdisciplinary research in areas such as computer science, robotics, and psychology. The intuitive locomotion model we observed from human walking and running gaits can be used to abstract conceptual models of legged locomotion. We can simplify the whole-body locomotion into a simple model that contains the feet, hip, and top of the spine by using tracking marks. We discussed two well-established models, the template models of human locomotion, that formalizing the locomotion of running and walking [6, p. 62].

The Spring-Loaded Inverted Pendulum Running Model
By observing the consecutive running photos of humans, Sharbafi et al. [6, p. 59] have stated that the overall movement of running was constituted by three anatomical parts: trunk, stance leg, and swing leg. The two legs switch functionality by repeating the entire gait cycle: the legs are either posed in stance (with foot colliding with the ground) or in swing (with foot departing the ground), with flight phases occurring when both legs are in the air. This simple "switching" philosophy still applies in the state machine we applied in the walking model section. Blickhan et al.'s [7] research on ground reaction force reveals that the leg force is proportional to the leg length in a Hooke's Law way. Alexander [8] describes the springs behaviour of legged locomotion as pop stick principle. The recirculating cycle of the swing leg can be observed as a combination of swinging of a passive pendulum and an active, controlling the placement of the future stance leg, retraction. The retraction happens at the beginning and the end of the swing phase. Blickhan [9] describes this overall behavior of running as a spring-loaded inverted pendulum (SLIP) model. As shown in Figure 1, SLIP models are low-dimensional models that commonly use a single point-mass as the trunk and a single massless leg to represent the recirculating stance or swing leg.

Inverted Pendulum Model of Walking
The overall motions of the trunk, stance leg, and swing leg of walking humans, walking mechanisms and robots, and the inverted pendulum model share many similarities: During the stance phase of human walking, when a single leg is on the ground, the body tends to rise and then fall as it pivots about the foot. This is similar to the way an inverted pendulum moves about its pivot. Walking is also described as a pattern or gait with alternating left and right legs. This characteristic walking pattern can be exhibited by bipedal inverted pendulum model.
The 2D inverted pendulum model is the simplest model for a walking humanoid. As shown in Figure. 2, the IP model consists of the center of mass (CoM) and an ideal swing leg, whose mass is assumed to be negligible. By applying laws of physics, Newton's Second Law of Mechanics or the Euler-Lagrange Equation, the dynamics of the model is governed by a couple of differential equations as follows: [10,6] Figure 2: Free-body diagram of a simple Inverted Pendulum model [10].
, where M is the trunk mass, r is the leg length, g is gravity, θ is the inclination angle of the pendulum, θ is the angle of the inclined plane, τ is the torque at the pivot, and f is the force at the prismatic joint along the leg.
The horizontal dynamic of CoM is noteworthy to consider as initiated by a kick force: The vertical component of the kick force is cancelled by gravity, while the remain horizontal component accelerates the trunk forward, thus we have: By substituting 1, we get where, x, z defines the CoM of the inverted pendulum. By rewriting above equation, we obtain a differential equation for the horizontal dynamics of the CoM: During ground contact the planar locomotion of the CoM can be formulated by a system of two nonlinear differential equations [9]:ẍ where, ω = k/M is the natural frequency of leg's spring-mass system, k is the spring stiffness, and M is the mass.

Numerical Simulation of SLIP model
As Fig. 3 shown, the SLIP model is simplified as a point mass, m, on top of a massless, springy leg with rest length of l 0 , and spring constant k. The configuration of the system is given by the x, z position of the center of mass, and the length, l, and angle θ of the leg. The dynamics are modeled piece-wise as the combination of two stages: flight phase and stance phase. During the flight phase, we use the state variables: The corresponding flight dynamics are simply: To modeling the stance phase, we can either write the dynamics in polar coordinate or Cartesian coordinates system, with the foot anchored at the origin. Here we describe the state variables in Cartesian coordinates: Plugging these into Lagrange yields the stance dynamics: We utilize the MATLAB code developed by [11] to simulate a free-fall (without control input) of a SLIP model. In Fig.  4, we depicted six kinematic curves of the model: (a) horizontal displacement annotated as x (b) vertical displacement annotated as z (c) horizontal velocity annotated asẋ (d) vertical velocity annotated asż (e) displacement of CoM in x-z plane (f) axial displacement of the leg l. We can find that the SLIP model in free fall has a tendency to lean forward in motion due to the transformation of gravitational potential energy. By introducing the controlling of angle θ, the SLIP model of continuous walking can be realized.

Simulation of a 2D-Bipedal IP model
We chose a physics engine called MuJoCo [12] to simulate the 2D-bipedal model. The C programming language was used in the environment of MuJoCo to create our moving simulation. As shown in Figure. 5, we will create a simple 2D leg model that can walk or run. To do so, we must first create a xml file in MuJoCo to represent our bipedal model. We started with the hip, knee, and foot joints because they are the most commonly used when walking. This is made up of several springs and hinges to represent the knees and hips, as well as two spheres to represent model's feet.
We assigned a gravity that allows the components to fall to the ground and maintain constant contact with the ground when it's moving, because people tend to lift themselves off the ground when moving forward. Another thing we'll make is the ground plane on which the simulation will walk. After that, we must separate the legs, or else the simulation will land straight and the bipedal model will fall backwards or forwards, resulting in no stable point to balance. We need to add speed to the model, which will be edited based on the state machine we created.  Another thing we did to make the model a moving/working simulation was to create the state machine. Figure 5:State is a simple way to understand the state machine that allows our bipedal model to move. The right leg takes off, then plants itself on the ground and remains in place. Later, the left leg swings and takes off, before landing on the ground. It then swings the right leg again and repeats the process for a set period of time.
To accomplish this, we needed to run three separate state machines at the same time to coordinate hip, knee, and foot movement. Following that, we had to set the restricted speed of the leg swing because if it is too fast, we will push the CoM backward following off, and if it is too slow, we will not walk. We also had to account for leaning forward, because if the model didn't lean forward and stood perfectly straight, we'd push ourselves back and fall backward. All body part numbers are linked to our MuJoCo model in order to be considered in the state machine. The resulting simulation is shown in Figure. 6, and the corresponding data is collected.

IP-inspired Crawling Model
By observing the crawling movements of infants 1 , we found that infants tend to adopt a crawling mode in which the hind limbs sit and stand while the front trunk crawls as the main forward momentum, which looks very much like a frog but in this paper we used a quadrupedal walking model of mammals for simplicity. A quadruped model is shown in Figure. 7 (b), which consists two inverted pendulum model inspired by the single 2D-biped [13].
(a) Baby Crawl (b) Combined inverse pendulums Figure 7: Adaptation of the IP model for creating crawling model.

Free Body Diagram Analysis
The model was constructed by a rigid trunk connects two point masses: fore mass m F and hind mass m H . Each point mass has two massless limbs that can extend or contract. The front left and right legs are leg 2 , leg 1 , similarly, rear left and right legs are leg 4 , leg 3 . The swing angle of the limbs are defined as q 11 , q 12 , q 23 , q 24 , where the i, j in q ij represents the front/rear group and j th leg. The swing angle between two legs in each group were defined as q 1 and q 2 , and we have, Due to the complex behavior of a crawling baby [14, Fig. 7], we consider the crawling model as the walking gait of a dog. We apply free body diagram analysis to the model as shown in Figure. 8. The contact force of leg 1 and leg 4 were f F R and f HL which drive the velocity of CoM as v CoM orẍ CoM . The leg force project to the x and z axis, we have, apply the swing angles, we have, Figure 8: Free-body diagram of a simple quadruped model.

Modeling and Simulation in Mujoco
We used a quadrupedal walking model of mammals to simplified the quadrupedal model. We imagine the front and rear legs of baby as two bipedal models. The mass m F , m H of front and rear body are located at the hip joint of each. A solid bar link connect the front and rear legs by two hinge joints at the front/rear connection point. The connection point will be longer because we want to mimic how a human baby will look like and they are pretty long when sprawled straight. Once we made our connection between the front and the rear legs, we need to change the center of mass. If we have it perfectly in the middle, we will have issues with the model tipping over or falling over once it attempts to make its first crawling movement. To change the center of mass, we made the weight of the front legs more. Doing this allowed us to make a crawling motion for the baby where it will not fall over and lie there struggling to move. This showed us something important about how babies crawl when moving. Babies will put more weight and force in the front half of their body and do a little leaning motion when moving forward very similar to how humans walk in a bipedal motion. Babies are basically pulling themselves at the same time while crawling which is being shown in our simulation mode. If they were to put no force or weight in the front of their own body, they risk just falling over on the floor every time since the force will be strong pushing them backwards and not being able to stand up properly to crawl anymore.
To create the control, or the movement of our quadrupedal model, we had to create state machines again to mimic the crawling movement. This is going to be very similar to how our bipedal moves. The right arm takes off, then plants itself on the ground and remains in place. Later, the left arm swings and takes off, before landing on the ground. It then swings the right arm again and repeats the process for a set period of time.
To accomplish this, we needed to run three separate state machines at the same time to coordinate arm and hand movement. Following that, we had to set the restricted speed of the arm swing because if it is too fast, we will push the CoM backward following off, and if it is too slow, the baby will fall face first flat on the ground. We also had to account for leaning forward, because if the model didn't lean forward and stood perfectly straight, we'd push ourselves back and fall backward. All body part numbers are linked to our MuJoCo model in order to be considered in the state machine. This is very similar to our bipedal model, however we will disregard the rear legs. We know that the babies have a little movement in rear leg when crawling, however due to the time constraints of the class being a quarter system, we decided that if we were able to get the model to crawl with just front legs, we would have succeeded in our goal of creating a crawling model.
The hierarchical representation of our model is shown in Fig 9. We borrow the ratio of infant's skeleton key-points [15,16] to build the MuJoCo model that matches the infant's body proportions.

Discussion and Conclusion
This project was interesting in it's own right. We chose to simulate a human baby walking, running, and crawling to understand this complex bio-inspired locomotion that we humans are capable of. As a group we were able to learn that humans when walking will naturally lean forward in order to move forward and also we never stand up perfectly 90 degrees when walking because it is neither efficient and if we swing to hard, we will risk pushing ourselves backward thus falling over in the process. Also when walking, we have a constant swinging motion of roughly the same speed every time or else we risk balancing issues. Another thing we observed is the fact that we hop a little bit each time when walking and never drag our feet on the ground which makes sense since dragging our feet on the ground would mean using way move energy than necessary or just not being able to move effectively from place to place. Crawling was interesting as well as the human baby follows a similar like pendulum motion when walking and a leaning forward motion, but we also learned that babies tend to put most of their weight in the front of the body where there arms are doing the movement to balance themselves and perpetuate forward when crawling. Our Matlab results showed that as we move further or made a bigger displacement with each movement in the leg, our horizontal velocity increased which made sense walking and running would have different horizontal velocities and running would cover more distance as opposed to walking. Vertical displacement and Vertical velocity stayed relatively the same which also made sense since we as humans do not want to be up in the air for an extended period of time, but also not be planted on the ground or else we would not be moving around efficiently. Meaning, if we stayed in the air too long, we would not be covering as much distance as we could have if we lightly hopped in the air, but if never left the ground we would have a hard time moving ones legs in turn making it hard to move from one place to another. We also analyzed the spring of a humans leg and it made sense that human's legs spring back and forth when up on the ground or making contact with the ground. We will be fully extended when we are at our peak vertical displacement and when we make contact with the ground, we will bend our legs a little bit shown in figure 4 deformation of leg graph mainly because we do not want to damage our legs when landing on the ground. Landing on the ground at 90 degrees every time from a certain distance will damage our legs over time causing arthritis in the future.As stated earlier, we would have incorporated movement in hind legs when crawling if we had more time, but due to the nature of the quarter system, we had to do what we could complete in the 10 weeks we were given and overall happy with the results that we were able to show as a group.