1. Introduction
Compared with walking [
1] and crawling robots [
2], the jumping robot can walk, run, and jump [
3]. Jumping locomotion has characteristics of isolated footholds, and powerful and explosive jumping force [
4], which contribute to the quick and effective jumping locomotion of bio-inspired robots to stride over obstacles that are several times the size of their bodies, or cross a gully that is several times the length of their own step, and avoid danger in time. As for the jumping robot, the key point is usually planning the trajectory of their center of gravity (CoG) to achieve the jumping process reasonably, and realize the multi-directional jumping moment in various environments. The jumping robot can realize the jumping process by controlling the take-off speed, attitude and landing stability. When the jumping robot takes off, the robot achieves certain acceleration because its foot generates enough reactive force by impacting with the ground. Then, the robot adjusts its posture in the air, and finally lands smoothly. Hence, the study of the jumping process is an important part of the jumping robot. The jumping robot realizes the physical design of the robot and the jump movements by imitating animal body structures or biological movement mechanisms. The bionics [
5] include the structure bionics, the motion bionics and the control bionics [
6]. Nowadays, research on the bionic robot based on a bionic structure is abundant. There are both robots that imitate mammals, such as the bionic cheetah and bionic kangaroo [
7,
8], and robots that imitate amphibious creatures, such as bionic frogs and bionic toads [
9,
10]. Additionally, there are robots that imitate arthropods, such as bionic spiders, bionic locusts, bionic cockroaches and imitation water insects [
11,
12,
13,
14,
15]. The mammal-like robot has the characteristics of being fast at running and jumping, as well as having smooth motion and a high energy utilization rate. However, there is little research surrounding this because of its large volume and heavy weight. The amphibious robots are almost all bionic frog robots. The robot uses intermittent motion so that it may control its posture, in addition to being able to effectively control the energy accumulation and release. Therefore, this type of robot is characterized by its flexible jumping, powerful explosive force and environmental adaptability [
16]. Compared with these types of robots, the arthropod robot has the advantage of fast acceleration, low energy consumption and high energy efficiency in the process of jumping because of its small size, light weight and good bounce ability [
17].
The structure model of the jumping robot can be divided into a single-legged model and a multi-legged model. In terms of the single-legged jumping robot, based on the high mobility requirements of jumping, some scholars have proposed a single leg motion mode driven by hydraulics [
18,
19]. The influence posture and ground impact of the robot on its structure in the vertical jump motion are analyzed, and the overall stability evaluated, to ensure that the robot can complete the take-off task. Ge et al. [
20,
21,
22] proposed a scheme based on the jumping mechanism of the kangaroo. They studied the jumping movement of the kangaroo and simplified their bodies into single-legged models to study and discuss. Then, they proposed three models: a rigid body jumping model, a compliant jump mechanism model and a rigid flexible hybrid model. The motion mechanisms of the three models were analyzed to see which one was most successful in making the robot jump smoothly. However, the single-legged model is a naturally unstable system, which cannot remain in the stationary state. Therefore, the single-legged robot has braced structures to maintain stability. Furthermore, it is necessary to adjust the initial attitude angle to achieve a smooth jump. In addition, the single-legged robots only realized the bionic jumping function, and were less involved in the overall movement mechanism. Animals in nature predominately have multiple legs. The biped robot, the quadruped robot and the six-legged robot are the main forms of multi-legged robots [
23,
24,
25]. Fumitaka et al. [
26] have designed a quadruped robot, which can jump even in rugged external environments and can achieve the task of crossing obstacles. Some scholars [
27,
28,
29] have proposed a rigid mode of imitating the motion principle of the cricket by studying the robot’s ability to jump and kick; the robot can adjust its own dynamic balance while it is jumping. Thus, compared with the single robot, the multi-legged robot has better overall stability.
Currently, most research focuses on the single direction jump, especially the vertical and forward jump. A vertical jump analysis based on the hydraulic drive has been proposed [
16,
30]. Surmounting ability and jumping efficiency are analyzed, and then the vertical jumping form is optimized. Thanhtam et al. [
31] have proposed a new structure of quadruped robot to accomplish the task of vertical jumps or forward jumps. The joints of the robot are driven by hydraulics to meet the requirements of torque, compactness, speed and impact resistance. Hyunsoo et al. [
32] proposed a quadruped jumping robot, which is based on the servo motor drive. The legs are equipped with gears, springs and other components, and the robot can complete a high jump task through two kinds of movement: spring compression and gear drive mechanism.
However, there is no in-depth discussion about the research on omnidirectional jumping. In other words, in the process of jumping, the robot jumps mainly through fixed jumping form, and it only achieves a single direction jump of height and distance. The robot must adjust its posture and jumping direction when it is trying to avoid an obstacle. The initial posture must be adjusted first if the robot is going to change the jumping direction, causing the efficiency to be greatly reduced. Hence, without changing the initial pose of the robot, multi-direction jumps become the key problem to be solved. In this paper, a bionic six-legged robot structure with the ability of omnidirectional jumping is proposed, which is based on the jumping mechanism of jumping spiders. The omnidirectional jumping form has been proposed through observing the jumping form, jumping posture and leg stretch of jumping spiders, which allows it to avoid and cross obstacles in all directions. To verify the rationality of the jumping form proposed in this paper, a series of experiments on a six-legged robot is carried out, and the results show that the proposed multi-direction jumping form has outstanding performance, which provided a good theoretical basis for jumping research.
2. Bio-Inspiration and Materials
Arthropods are the largest group of animals, including over one million species of invertebrates, and accounting for almost 84% of all species. Members of the arthropod family are various; they can be found from the abyssal sea to inland areas. Due to the differentiation between arthropod bodies, and the diversity of physical changes, which give arthropods a highly adaptive capacity, they have adapted to all sorts of surroundings, maintaining themselves even under the most rigorous conditions. After hundreds of millions of years of evolution, arthropods have become very flexible in their ability to move [
33]. Arthropods can hunt prey quickly or avoid predators, and when they run into obstacles or ravines, they can quickly run and jump on the terrain to avoid obstacles. Therefore, the agility of arthropods can provide inspiration for the exploration of jumping robots [
34,
35]. The arthropod is composed of several different structures and functions; the body is symmetrical; its feet are evenly distributed on both sides of the body; and the legs can be coordinated with each other. This not only allows the flexibility of movement of the robot, but also the ability to jump in any direction and remain flexible in various terrains [
36]. Jumping spiders are the most common of these arthropods.
Since the jumping spider has multiple joints on each leg, the legs can be stretched long enough to move around or camouflage themselves to prey. Especially due to its jumping ability, the jumping spider can quickly avoid predators and overcome obstacles. In this paper, we mainly focus on the jumping spider and study its motion structure and morphology. When the jumping spider jumps, the feet fall and the legs stretch, and the effective leg length increase rapidly, before the spider accelerates and impacts with the ground. When the jumping spider skips sideways, the front spider legs shrink and the rear legs extend in the jumping direction, and the spider has a certain attitude angle. The spider accelerates highly when its legs begin to extend. When the front legs reach the maximum effective length, the spider reaches the ground velocity across the barrier, and the spider jumps off the ground. When the jumping spider skips forward, the effective length of the front legs is constant in the direction of the jump, and the effective length of the rear legs decreases, and the spider has a certain attitude angle. The spider can achieve high acceleration when its legs extend to full extension. When the hind legs of the spider reach the maximum effective length, the spider reaches the ground velocity across the barrier, and the spider jumps off the ground.
Figure 1 is a schematic diagram of the whole body and a sketch of the spider’s leg joint and leg structure. Considering the characteristics of the coxal joints of spiders, the leg structure of the robot is simplified; the blue solid line indicates the leg, and the black circle indicates the joints. The coxal joint can move freely in any direction, so that the spider can jump in any direction. The robot model is designed by observing the schematic diagram of the jumping spider and the spider leg, and the robot experiment platform is shown in
Figure 2a. To simplify the design, the spider robot is designed with six legs rather than eight legs. Compared with other hexapod robots that have been studied, in this paper each leg of the robot has 4DoFs, which can increase the flexibility of the robot during activity. The width and length of the body are 134 mm and 228 mm respectively; the length of the patella-tibia is 120 mm; the length of the tibia-metatarsus is 120 mm; the length of the tarsus is 160 mm; and the maximum effective length of the robot leg is 350 mm. The robot’s six legs are symmetrically distributed on both sides of the fuselage; the angle between the legs of left foreleg (LF), right foreleg (RF), left hind leg (LH) and right hind leg (RH) (as seen in
Figure 2a), and the axis direction of the robot is 60°, while the legs of left middle leg (LM) and right middle leg (RM) (as seen in
Figure 2a) are perpendicular to the fuselage. The robot adopts the design principles of having a bionic structure and being light weight. The total weight is only 4 Kg, since the root body, shank, foot and connector of digital motors are all made from aluminum alloy. Each leg has four rotating joints including the coxal joint, complex femur–patella joint, tibia–metatarsus joint and the metatarsus–tarsus joint. The torque of each joint is provided by a digital motor. The rotation of the digital motion of the coxal joint (
θ1) enables the robot to swing back and forth, providing forward power and controlling the step size. According to the robot’s mechanical structure, the minimum value of
θ1 is −30°, and the maximum value of
θ1 is +30°. The rotation of the digital motor at the femur–patella joint (
θ2), the tibia–metatarsus joint (
θ3) and the metatarsus–tarsus joint (
θ4) can achieve leg extension and control the height of the body. The value of
θ2 ranges from −90° to +75°, the value of
θ3 ranges from 0° to +150°, and the range of
θ4 varies with
θ2 and
θ3. In this paper, the robot is designed to complete tasks that require a maximum jumping height of 100 mm and a maximum jumping distance of 250 mm, while following the form of omnidirectional jumping. Furthermore, the robot can walk quickly, and turn in any direction. The D-H kinematic model was established according to the John method, as shown in
Figure 2b, and the kinematic model parameters are shown in
Table 1.
The architecture of the control algorithm of the robot is shown in
Figure 3. During the jumping process of the robot, the whole system is composed of the time signal, path planning, foot trajectory planning, experimental prototype and the sensor signal. As the input signal of the whole system, time provides the drive for the control system. The foot trajectory planning and path planning are mainly used to plan the jumping path of the robot. When the robot jumps, the body jump trajectory is given and, correspondingly, we can get the trajectory of the robot foot. Then, the kinematic displacement of each joint is calculated by inverse kinematics. The robot can realize the motion form of the jump through the reasonable path planning of the robot. The robot is equipped with various sensors that are mounted inside the body. An attitude sensor is mounted to monitor the motion state of the robot in real time. A displacement sensor and a torque sensor are arranged on each leg joint to detect the real-time position and the torque. A force sensor is used to monitor the load on each leg.
Figure 3 is the algorithm framework. We can understand clearly the control process to the jumping robot. At present, we start with the position control, which is consistent with the control mode of the robot platform we are building, and it is easy to quickly implement. The close position loop takes into account the internal torque loop, and the next step will be studied from the dynamics.
4. Results
To further verify the algorithm of omnidirectional jumping, a series of experiments is conducted using a hexapod robot platform. There are three groups of experiments: the vertical jump, sideways jump, and forward jump. In these experiments, the joint angles as input of the simulation system, and the CoG and the attitude angle as output of the simulation system are used to verify the design requirement and stability of the robot. To avoid the slip phenomenon in the jumping process, and to achieve a certain friction between the ground and the robot foot, we use a wooden floor as the ground. We assume that there is no air resistance and no slipping phenomenon when the robot jumps, since the beginning of the jump is our main concern and the structure is slim with little air resistance. Friction is supposed as a load torque. Robot links are in rigid connections. In this paper, the simulation results are obtained under Matlab-Adams, relevant parameters are set in Adams, and the parameters include static coefficient, dynamic coefficient and stiffness. Experiment parameters are shown in
Table 4.
4.1. Vertical Jump
In this section, we obtain data on the robot jumping vertically; these data include the joint angle, attitude angle, joint velocity, foot contact force, take-off velocity, trajectory of CoG, jumping height and jumping distance. These data are based on the simulation result under Matlab-Adams, and we can prove the reliability and rationality of vertical jump by analyzing it.
Figure 8a,b shows the simulation platform of the virtual jump prototype. At the beginning of the vertical jump, the body slowly moves downward due to a slight flexion of the robot leg, and the robot begins to store energy. During the acceleration phase of the vertical jump, the effective leg length extends quickly, and the robot starts to take off.
Figure 8c shows a sketch of the robot jumping vertically. The initial height of the CoG of the robot is 180 mm and the jumping height is 100 mm. In the vertical jumping experiment, we measure the contact force of the foot and the joint force; we observe the change of joint forces to verify whether the motors meet the requirement.
During the vertical jumping, each joint of the six legs has the same rotation angle. Here, we can see the set of angle curves of the robot leg in
Figure 8c. Coxal joint angles of all legs always remain the same during the vertical jump: they are 0 rad. Before the acceleration phase begins, the femur–patella joint angle, tibia–metatarsus joint angle and metatarsus–tarsus joint angle begin to slowly change, and the robot body slows down and adjusts the attitude. Then, the foot moves down quickly, and the robot starts to accelerate by extending its legs at 0.8 s. At 1.0 s, the height of the CoG is 300 mm, and the robot leaves the ground and takes off. At 1.2 s, the robot rises to its maximum height of approximately 400 mm, the robot completes the task of jumping 100 mm in height. From 0.8 s to 1.2 s, the femur–patella joint angle changes by approximately 1.5 rad, the tibia–metatarsus joint angle changes by approximately 1.2 rad and the metatarsus–tarsus joint angle changes by approximately 2.0 rad.
As mentioned, the effective length of the robot’s legs always changes during the vertical jump. For the robot to achieve stability, the change of the attitude angle is analyzed. The initial attitude angle of the robot is not 0 rad, which is due to the initial pose of the robot in
Figure 8e. The roll angle holds at near 0 rad when the robot jumps. The pitch angle holds at 0.002 rad at approximately 0–1 s, and the roll angle increases gradually to 0.01 rad when the robot lifts off the ground. In the process of jumping, the yaw angle of the robot always holds at approximately −0.025 rad. According to the simulation results, the robot has good stability in the vertical jump process.
Figure 8f is the contact force of the foot tip for the robot in the vertical jump process. When the robot jumps vertically, it completes the upward jumping task through the contact force in the Z direction. The forces all cancel each other out which acts on the entire robot in the X and Y directions. As shown in
Figure 8f, the initial contact force is 0 N, which is due to the initial state of the robot. At 0.3–0.8 s, the CoG slowly drops and the contact force remains constant; the contact force of X is approximately 10 N, the contact force of Y is 0. The contact force F
Z of Z is approximately 12 N, which is 1/6 of the gravity of the robot. At 0.3–0.8 s, the contact force of the foot tip increased rapidly, and the Z directional force increased to 24 N at 1.0 s, and decreased to 12 N after 1.0 s. Overall, the vertical acceleration of the robot does not reach 0 m/s
2, the speed increases and reaches its maximum at 1 s. After the robot jumps off the ground, the contact force is 0 N until the robot lands.
Figure 8g is the joint torque of the robot in the vertical jump process. At the initial stage of simulation, the robot foot does not touch the ground and the joint torque of the robot is 0 Nm. When the robot touches the ground, the joint torques changes slowly between 1 Nm and 3 Nm until the robot begins to adjust its posture at 0.5 s. At 0.8–1.2 s, the joint torque of the robot begins to increase. At 1.4 s, the joint torque of the robot fluctuates wildly, and the maximum valve is approximately 8 Nm, which is caused by the impact of the robot landing.
According to these curves, we can see that the experimental data are consistent with what we expect from our projections; the robot could complete the task of jumping 100 mm in height while maintaining good stability.
4.2. Sideways Jump
The simulation experiment of the robot jumping sideways is carried out to verify whether the joint angle, attitude angle, jumping height and jumping distance are consistent with motion planning or not. Unlike the vertical jump, there is much variability in the joint kinematics and attitude with the sideways jump. At the beginning of the sideways jump, the lateral body axis began to rotate sideways in the jumping direction. The initial attitude is adjusted to prepare to jump. At the same time, the CoG drops and begins to store energy. During the acceleration phase of the sideways jump, the effective leg length of the robot extends quickly and the foot impacts the ground quickly, then the robot starts to take off.
Figure 9b shows a sketch of the robot jumping sideways. The initial height of the robot is 180 mm, the jumping height is 100 mm, and the jumping distance is 250 mm.
During the robot’s sideways jump, the legs in contact with the ground are first flexed and then extended. Each joint of the six legs has a different rotation angle. Before the acceleration phase begins, the CoG begins to drop and store energy at 0.3 s (
Figure 9d); the legs on one side of the robot’s body are obviously flexed, but those on the other side remain relatively small in the jumping direction. From 0.3 s to 0.8 s, the robot body slows down and adjusts the attitude. At this instant, the femur–patella joint angle, tibia–metatarsus joint angle and metatarsus–tarsus joint angle begin to slowly change, and the coxal joint angle remain constant until the jump ends (
Figure 9c). Then, the foot impacts the ground quickly the robot’s legs start to extend and the robot begins to accelerate at approximately 0.8 s. The joint angle begins to change quickly (
Figure 9c), while the coxal joint angle of the middle leg remains unchanged; this is due to the robot’s structure and path planning of the sideways jump. The displacement of the robot in the jumping direction begins to change, depending on the time at which the robot is in the air. Then, the robot leaves the ground and takes off, with the height of the CoG at 320 mm in this moment. The robot rises to its maximum height of approximately 420 mm and completes the task of jumping 100 mm (
Figure 9d). At 1.4 s, the robot will touch down. The robot is in the air for approximately 0.4 s, while the jumping distance is 250 mm (
Figure 9d). The robot jumps to the right. From 0.8 s to 1.2 s, the femur–patella joint angle changes by approximately 2 rad, the tibia–metatarsus joint angle changes by approximately 2.5 rad and the metatarsus–tarsus joint angle changes by approximately 0.5 rad in the three left legs (
Figure 9c). Concurrently, the femur–patella joint angle changes by approximately 1.5 rad, the tibia–metatarsus joint angle changes by approximately 2.5 rad and the metatarsus–tarsus joint angle changes by approximately 1.0 rad in the three right legs (
Figure 9c). The attitude angle directly influences the stability of the robot when it jumps sideways in
Figure 9c. The initial attitude angle of the robot depends on attitude planning. The roll angle always holds near 0.02 rad when the robot jumps, and the roll angle changes 0.1 rad until the robot has landed. The pitch angle holds at near 0.2 rad. In the process of jumping, the yaw angle of the robot always holds at 0.02 rad; it increases gradually to 0.03 rad when the robot has landed. According to the simulation results, the attitude angle of the robot is nearly invariable. Hence, the robot has good stability in the sideways jump process, which provides a good theoretical basis for the forward jump of the robot.
According to the simulation results, we can see that the experimental data are consistent with what we expect from our projections for the sideways jump. Therefore, the robot could complete the task of jumping 100 mm in height and 250 mm in distance, while maintaining good stability.
4.3. Forward Jump
The simulation of the robot jumping forward is carried out to verify whether the joint angle, attitude angle, jumping height and jumping distance is consistent with motion planning or not. The simulation results are seen in
Figure 10. In the forward jump, the robot’s body slowly moves backwards and downwards due to a slight flexion of the hind legs and the middle legs before the acceleration phase begins. The robot begins to store energy with the CoG dropping. At the same time, the initial attitude is adjusted in preparation to jump. Then, the robot starts to accelerate by extending its legs; the effective leg length increases quickly. Eventually, the robot takes off.
Figure 10b shows a sketch of the robot jumping forward. The initial height of the CoG of the robot is 180 mm, the jumping height is 100 mm, and the jumping distance is 250 mm.
While the robot jumps forward, the legs that have contact with the ground are first flexed and then extended. Each joint of the six legs has a different rotation angle (
Figure 10c). Before the acceleration phase of the forward jump, the body rotates backwards as the hind legs and the middle of the robot body slightly flex in the jumping direction. Meanwhile, the robot adjusts its attitude by moving backwards and downwards. Then, the foot impacts the ground quickly, and the robot’s legs start to extend and, at 0.8 s, the robot begins to accelerate. At the same instant, the joint angle begins to quickly change (
Figure 10c). At 1.0 s, the robot loses contact with the ground and takes off; due to the accumulation of velocity, the rotation of the body is reversed. At this instant, the height of the CoG is 320 mm. The robot rises to its maximum height of approximately 420 mm at 1.2 s; it then completes the task of jumping 100 mm in height (
Figure 10d). After this instant, none of the joint angles change (
Figure 10c).
During the robot’s forward jump, and the Coxal joint angles change by approximately 0.8 rad. The femur–patella joint angle changes by approximately 2 rad, the tibia–metatarsus joint angle changes by approximately 1.5 rad and the metatarsus–tarsus joint angle changes by approximately 1 rad. At 1.4 s, the robot lands on the ground. The robot is in the air for approximately 0.4 s, and the jumping distance is 250 mm (
Figure 10d). In
Figure 10e, the initial attitude angle is not 0, and the initial roll angle is 0.01 rad; the initial yaw angle is 0.025 rad; and the initial pitch angle is 0.02 rad, due to the initial pose of the robot. The roll angle changes by 0.02 rad in the jumping process, and the roll angle decreased by 0.1 rad when the robot landed. The pitch angle holds at 0.01 rad in the jumping process, and it generated a fluctuation of 0.1 rad when the robot landed. The yaw angle was almost constant until the robot landed, maintaining 0.015 rad. According to the simulation results, the robot has good stability in the forward jump process, which provides a good theoretical basis for the forward jump of the robot.
Observing the simulation result, we find that the experimental data are consistent with our projections of the forward jump. The robot could complete the task of jumping 100 mm in height and 250 mm in distance; it maintains good stability in the flying phase.
5. Discussion
In this paper, research on the omnidirectional jump control of the hexapod robot based on the behavior mechanisms of jumping spiders was undertaken. In the first section, the jumping forms of several typical legged robots [
16,
25,
28,
34] were described in detail. Normally, the more jumping force a robot has, the more difficult it is to control its jumping movement. However, the robot with more jumping force has a better capacity for avoiding obstacles. In the past decade, research on jumping robots has mainly focused on single-direction jumps, such as the vertical jump and the forward jump. However, this type of jumping robot must first adjust its posture and jumping direction when trying to avoid an obstacle. Therefore, the efficiency of the robot is greatly reduced. We study the change of the effective leg length and joint angle of the jumping spider, before proposing an omnidirectional jump control of the hexapod robot based on the behavior mechanisms of jumping spiders. Through a series of simulation experiments, we verify the possibility of an omnidirectional jump by comparing the simulation and experimental data with the data expected from our projections. Finally, the robot realizes rapid jumping in all directions under any circumstances.
There are several forms of DoF for robot legs, including 1DoF, 3DoFs and 4DoFs. Large DoF will greatly increase the complexity of motion controls, but smaller ones cannot satisfy the amount of motion required. The 1DoF model of a jumping robot leg is usually made by a hydraulic component [
37] or an elastic component [
38]. However, it is difficult to guarantee the stability of motion with such robots. Currently, 3DoFs for jumping robot legs is the main form, but does not have enough flexibility when the robot jumps omnidirectionally. In this paper, the jumping robot has adapted 4DoFs-mechanical legs, which increases the flexibility of the robot when it jumps omnidirectionally. The attitude angle of the foot tip is obtained based on bionic kinematics, and the constraint of the foot tip’s attitude angle is added to calculate the inverse kinematic. Since most studies are in a unidirectional jumping stage to the jumping robot, this type of robot cannot realize omnidirectional jumping, especially avoid obstacles quickly. In this paper, omnidirectional jumping has been proposed as it allows the robot to avoid and cross obstacles in all directions. We proposed a study based on bionic kinematics with redundant freedom, which could potentially solve the inverse kinematics for a bionic structure with redundant freedom and achieve to jump in many different types to robot. Furthermore, we proposed locomotion planning, especially attitude planning, by observing the behavior of the jumping spider.