Skip to content
BY 4.0 license Open Access Published by De Gruyter Open Access December 17, 2020

Design and Control of 7-DOF Omni-directional Hexapod Robot

Marek Žák, Jaroslav Rozman and František V. Zbořil
From the journal Open Computer Science

Abstract

Legged robots have great potential to travel across various types of terrain. Their many degrees of freedom enable them to navigate through difficult terrains, narrow spaces or various obstacles and they can move even after losing a leg. However, legged robots mostly move quite slowly. This paper deals with the design and construction of an omni-directional seven degrees of freedom hexapod (i.e., six-legged) robot, which is equipped with omnidirectional wheels (two degrees of freedom are used, one for turning the wheel and one for the wheel itself) usable on flat terrain to increase travel speed and an additional coxa joint that makes the robot more robust when climbing inclined terrains. This unique combination of omnidirectional wheels and additional coxa joint makes the robot not only much faster but also more robust in rough terrains and allows the robot to ride inclined terrains up to 40 degrees and remain statically stable in slopes up to 50 degrees. The robot is controlled by a terrain adaptive movement controller which adjusts the movement speed and the gait of the robot according to terrain conditions.

1 Introduction

Legged chassis, and especially hexapods, are one of the most robust robot chassis. They can operate in rough terrain, cross large holes and continue moving even after losing a leg or two [1]. However, their control is much more difficult and they are slower than wheeled chassis.

In this paper, we present a new combination of omnidirectional and legged robot that can reach a higher speed than ordinary legged robots. Additionally, the robot is equipped with a horizontal coxa joint, which provides better body support in inclined terrains.

The robot is controlled by a terrain adaptive movement controller, which reacts on terrain difficulty and adjusts robot movement speed and gait.

Many walking robots of different shape, size, leg count, or number of joints per leg have been built and reported in the literature. Here are just few examples of the most interesting walking robots.

Takubo et al. introduced a four-degree-of-freedom hexapod robot, Asterisk, which has the hexagonal body type and is capable of gripping things using two of its legs. It can also walk on a grid ceiling. Each limb switches between two functions: leg function for locomotion and arm function for manipulation [2].

Yoshioka et al. introduced Asterisk H, which is based on previous version Asterisk, but it is equipped with a wheel on the end of each leg. The robot can use both legged and wheeled locomotion [3].

ATHLETE is a six-legged walking robot designed by NASA. Its primary purpose is an exploration of planets, especially Mars [5]. It has the hexagonal body type and its legs are evenly distributed across the body. Each leg is ended by a wheel. Thanks to this feature the robot can act as an omni-directional chassis. Also, the robot can drive on easy terrain and walk once it runs into rough terrain. The robot can also attach a drill or gripper to its legs and use them as a manipulator.

Hector is a legged robot that combines compliant joint drives, a rich sensorization and decentralized control approaches to develop bio-equivalent walking capabilities [6]. Its construction was inspired by the stick insect. It has passive elastic joints and an ultralight exoskeleton. The robot is in Figure 1.

Figure 1 Hector is a six-legged robot and its construction was inspired by the stick insect. It has passive elastic joints and an ultra-light exoskeleton. Taken from [4].

Figure 1

Hector is a six-legged robot and its construction was inspired by the stick insect. It has passive elastic joints and an ultra-light exoskeleton. Taken from [4].

LAURON V is the fifth generation of a six-legged robot that is inspired by the stick insect. Thanks to new leg design it can cope with difficult obstacles and steep inclines and can be deployed for search and rescue missions [7].

The multi-legged autonomous eXplorer (MAX) is an ultralight 2.25 m tall hexapod robot. Its design emphasizes a low mass/size ratio and high locomotion efficiency [8].

Weaver is a five-degree-of-freedom hexapod robot that has proprioceptive control and exteroceptive terrain perception capabilities. It is equipped with two cameras that can detect terrain so the robot can adapt its locomotion parameters [9].

While hexapod robots are very statically stable and can operate even after losing a leg, quadrupedal robots are more efficient and agile, e.g., SPOT [10], ANYmal [11] or HyQ2Max [12] are even capable of jumping.

2 Legged Robots

Legged robots have been of great interest for a long time. Many walking robots that differ in body shape [14], number of legs, number of degrees of freedom per leg or locomotion technique were built. Various options can be combined to achieve many different configurations.

Walking chassis movements can be divided into statically stable and dynamically stable [1, 13]. Statically stable chassis (e.g., hexapod) can remain in a stable position in every moment of its movement. Dynamically stable chassis is sometimes out of balance – balancing or falling (e.g., bipedal).

During their movement, statically stable chassis are in one of the three basic states based on the number of legs and used gait (Figure 2) [13]. The first state is statically stable when the chassis rests on at least three legs and is in balance. This is usual for the chassis with more legs (e.g., hexapod) that is characterized by statically stable walking (the position of the chassis is stable in each moment). It can also be in statically unstable state when the chassis is not balanced, which leads to collapse. This instability can be compensated by a dynamic movement. Then we talk about dynamically stable walking, which is a typical example of bipedal chassis.

Figure 2 Possible positions of the chassis during its movement. Black dots represent legs on the ground and symbol “x” represents the center of gravity. a) Robot is statically stable, because the center of gravity is inside the leg area. b) Robot is statically unstable, because the center of gravity is outside the leg area. c) Robot is critically stable, because the center of gravity is on the border of the leg area. This figure is taken from [13].

Figure 2

Possible positions of the chassis during its movement. Black dots represent legs on the ground and symbol “x” represents the center of gravity. a) Robot is statically stable, because the center of gravity is inside the leg area. b) Robot is statically unstable, because the center of gravity is outside the leg area. c) Robot is critically stable, because the center of gravity is on the border of the leg area. This figure is taken from [13].

The last state, critically stable state, is between the previous two. In this state, chassis balances on the edge of its center of gravity. These features should be also considered when designing a control system.

Walking robots use gaits to achieve movement. Gait refers to the locomotion achieved through the movement of robot legs. Compared to humans, the legged chassis usually has more than two legs. Therefore, the locomotion of a robot is much more complicated. There are several basic gaits, such as tripod, wave or ripple [15] (Figure 3).

Figure 3 Walking gaits. The chart shows the movement of each leg in time. A high value represents leg movement, low values means no movement. Tripod, wave and ripple gaits are shown in this figure. Tripod has two group of legs, all the legs in the same group move at once. In the wave gait only one leg is moving forward at any time. After all legs are set up to their new positions, step is completed. In the ripple gait all legs move the same way, but their moves are shifted. Inspired by http://www.oricomtech.com/projects/cynthia2.gif, 30. 9. 2015.

Figure 3

Walking gaits. The chart shows the movement of each leg in time. A high value represents leg movement, low values means no movement. Tripod, wave and ripple gaits are shown in this figure. Tripod has two group of legs, all the legs in the same group move at once. In the wave gait only one leg is moving forward at any time. After all legs are set up to their new positions, step is completed. In the ripple gait all legs move the same way, but their moves are shifted. Inspired by http://www.oricomtech.com/projects/cynthia2.gif, 30. 9. 2015.

The selection of gait has a great impact on the hexapod movement. While tripod gait is the fastest statically stable gait (the maximum number of legs – three – is lifted at once) [16, 17] and can be used mostly in flat terrains, wave gait is the most statically stable gait (only one leg moves at a time) and provides the most robust movement in rough terrain. These two gaits can be combined in many ways so the gait keeps the higher speed but become more stable in difficult terrain conditions. Tetrapod is such a gait. It is a modified wave gait, but it moves two legs instead of one at a time.

3 Robot design

Although legged robots are suitable for difficult terrain conditions, their movement speed is low compared to wheeled or tracked chassis. Therefore we wanted to create combined chassis that will have advantages of both wheeled and legged chassis. Such a chassis can use wheels during its movement in flat terrain and switch to legs once it reaches rough terrain. This approach increases speed of the robot in flat terrain and preserves robustness of the movement in difficult terrain.

The robot was designed as a rectangular hexapod with seven degrees of freedom (DOF) per leg. Five joints are used for positioning the leg and two joints are used as omni-directional chassis (one joint is used for turning the wheel and one joint is used for the wheel itself). Its design is based on our previous hexapod (see Figure 4), which has only three DOF, is made of aluminium profiles and uses common hobby servomotors. The 3D model of the new robot is shown in Figure 5.

Figure 4 The predecessor of our new robot is made of aluminium profiles. It is equipped with 18 hobby servomotors with encoders, inertial measurement unit, force-sensitive resistors to detect ground, ultrasonic sonars and camera to detect obstacles and environment. It is controlled by Arduino Mega board [18] and Raspberry Pi mini computer [19].

Figure 4

The predecessor of our new robot is made of aluminium profiles. It is equipped with 18 hobby servomotors with encoders, inertial measurement unit, force-sensitive resistors to detect ground, ultrasonic sonars and camera to detect obstacles and environment. It is controlled by Arduino Mega board [18] and Raspberry Pi mini computer [19].

Figure 5 3D model of the robot. Each leg consists of seven servo-motors. Coxa joint moves the leg forward and backward and femur, tibia and tarsus joints lift the leg up and down. Two servomotors are part of the omni-directional chassis and one servomotor can rotate the leg in a horizontal axes.

Figure 5

3D model of the robot. Each leg consists of seven servo-motors. Coxa joint moves the leg forward and backward and femur, tibia and tarsus joints lift the leg up and down. Two servomotors are part of the omni-directional chassis and one servomotor can rotate the leg in a horizontal axes.

Thanks to symmetric design the robot can continue moving even when it falls on its back. It can use either horizontal coxa joint or omni-directional rotate joint to set up its legs so it can keep moving. Also, the front and the back of the robot is interchangeable unless the robot is equipped with some special device (e.g., camera) on only one side.

The robot consists of 42 MX series Dynamixel servomotors [20] that are chained together using an asynchronous serial line. Each servomotor has full rotation mode and built-in encoders and thermometer. The robot is controlled by a mini computer Raspberry Pi 4 [21]. We also use a U2D2 communication converter for testing purposes. The robot also has seven inertial measurement units (IMU). Each leg has one IMU on its tibia and one IMU is located on the body. The robot can be powered by two Li-Po 11.1 V accumulators or can be connected to a power supply. The length of the stretched leg is 45 cm, the maximum light height is 39 cm and the length of the robot is 58 cm.

3.1 Leg design

The design of robot leg determines which walking patterns the robot can use. An ordinary hexapod needs at least two degrees of freedom (DOF) to be able to move forward, one to move the leg forward and backward (coxa joint) and one to lift the leg up and down (femur joint). But three degrees of freedom are recommended because using just two DOF will lead to slipping of the feet on the ground as only the femur joint can compensate the rotational movement of the coxa joint. But using femur joint for this purpose leads to a change of the body height level. Adding a third joint (tibia joint) will ensure that the leg can move along the right trajectory while keeping the body on the same height level because the combination of femur and tibia joints can keep the body on the same height level, which follows from the three DOF kinematics [13, 22]. The basic configuration of three DOF leg is shown in Figure 6.

Figure 6 Basic configuration of hexapod's leg. From the left, coxa joint which moves the leg forward and backward, femur and tibia joints which move the leg up and down.

Figure 6

Basic configuration of hexapod's leg. From the left, coxa joint which moves the leg forward and backward, femur and tibia joints which move the leg up and down.

Although three DOF are enough, adding more DOF to the leg can help the robot manage terrain difficulties more efficiently. Therefore, our robot is equipped with five DOF. Except for those three basic joints the robot has tarsus joint and one horizontal coxa joint. Both of these joints allow the robot to climb more difficult terrains and can be used for object manipulation since five joints create simple robotic arm without a gripper. Moreover, the horizontal coxa joint stabilizes the robot when climbing sloping terrains (see Figure 7). Common legged robots must place their legs behind the body when climbing uphill. Our robot can rotate its legs using the horizontal coxa joint, which leads to higher stability and lower energy consumption because the leg is parallel to the gravity vector. The leg is shown in Figure 8.

Figure 7 Difference between hexapod with (a) and without (b) horizontal coxa joint. Hexapod with horizontal coxa joint can rotate its legs so the foot tip is parallel to the gravity vector. This reduces power consumption, better supports the body and allows the robot to climb more difficult and inclined terrains. This extra joint can also be used to turn the legs when the robot falls on its back.

Figure 7

Difference between hexapod with (a) and without (b) horizontal coxa joint. Hexapod with horizontal coxa joint can rotate its legs so the foot tip is parallel to the gravity vector. This reduces power consumption, better supports the body and allows the robot to climb more difficult and inclined terrains. This extra joint can also be used to turn the legs when the robot falls on its back.

Figure 8 Robot leg configuration. Coxah joint is used for leg rotation in x axis, so the robot legs can stay parallel to the gravity vector even when climbing sloping terrains. Coxa joint is used to move the leg forward and backward and femur, tibia and tarsus joins are used to move the leg up and down. Last two servomotors are used as omni-direction chassis, so the robot can reach higher speed in flat terrain conditions. The leg dimensions and the joint angle ranges for the joins are listed in Table 1.

Figure 8

Robot leg configuration. Coxah joint is used for leg rotation in x axis, so the robot legs can stay parallel to the gravity vector even when climbing sloping terrains. Coxa joint is used to move the leg forward and backward and femur, tibia and tarsus joins are used to move the leg up and down. Last two servomotors are used as omni-direction chassis, so the robot can reach higher speed in flat terrain conditions. The leg dimensions and the joint angle ranges for the joins are listed in Table 1.

Each leg is equipped with an IMU, so the leg can be placed parallel to the gravity vector. It can also be used to detect anomalies in the leg motion or the orientation of the leg tip.

3.2 Omni-directional leg

One of the biggest disadvantages of small walking robots is their low speed. They can move only several meters per minute. On the other hand, their movement is really robust. To eliminate this disadvantage our robot is equipped with wheels on the end of each leg tip. This allows the robot to use wheels in flat terrains and switch to legs once it runs into rough terrain. Additionally, each wheel can rotate around the y-axis, so it creates omni-directional chassis.

Table 1

Joint angle ranges and leg dimensions

Joint Joint angle ranges [°] Dist. to the next joint [mm]
Coxa 〈−135, 135〉 67
Coxah 〈−360, 360〉 36
Femur 〈−120, 120〉 127
Tibia 〈−150, 150〉 124
Tarsus 〈−155, 170〉 168

Omni-directional chassis are used by many robots so the robot has the ability to move instantaneously in any direction [23]. A robot with omni-directional wheels can start its movement from any configuration and requires smaller space for its maneuvers. The omni-directional wheel is composed of a motor-controlled wheel hub and several passive rollers, which are evenly distributed at a certain angle along the outer edge of the wheel [24].

Our robot is equipped with common wheels made of plastic with rubber tire. The omni-directional chassis is created using additional turning joint. The turning joint can turn the wheel in any direction. It would be also possible to use common omni-directional wheel to eliminate the turning joint but the wheel cannot be fully stopped because of its design. The construction of the omni-directional leg can be seen in Figure 8.

3.3 Sensors

The robot is equipped with ultrasonic range meters that can detect obstacles around the robot. It also has an IMU on the body and on the foot tip of each leg so the robot could place legs parallel to the gravity vector and detect movement anomalies. Each servomotor has encoders, thermometer and voltage and torque indicators that can be used to measure the load on each leg. The robot can detect ground using the force-sensitive resistors (FSR) that are placed in each leg. Because the robot has wheels on the tip of its legs, the FSRs are placed between tibia and turning motor brackets. The placement of the FSR in the leg is shown in Figure 9.

Figure 9 Placement of the force-sensitive resistor in the leg. (a) placement schema of the force-sensitive resistor in the leg. (b) placement of the force-sensitive resistor in the real bracket.

Figure 9

Placement of the force-sensitive resistor in the leg. (a) placement schema of the force-sensitive resistor in the leg. (b) placement of the force-sensitive resistor in the real bracket.

3.4 Robot stances

Several robots have shown the ability to change their stances during movement through narrow spaces. Buchanan et al. introduced deformable bounding box abstraction that enables autonomous change of the body of the robot to travel through confined spaces [25].

Our robot has seven degrees of freedom. All of them except for the wheel motor can be used for changing the stance of the robot. Different stances allows the robot to overcome narrow places and various obstacles. We can differentiate compact stances, which try to minimize one or more of the dimensions of the robot to overcome narrow places, and spread stances, which try to maximize one or more of the dimensions of the robot to overcome obstacles. Some of the stances are shown in Figure 10.

Figure 10 Robot stances. Several different stances are shown in this figure. Each stance can be used to overcome obstacle of different size and shape. A1, A2: The highest stance the robot is capable of. This stance can be used to get over high obstacles up to 38 cm. B1, B2: The basic stance of the robot that is used during ordinary movement. C1, C2: Stance with the smallest height (only 20 cm) can be used to crawl under a low obstacle. D1, D2: This stance is lower modification of the basic stance and is also used during ordinary movement. E1, E2: The shortest stance. F1, F2: Third variant of the basic stance, which is the lowest.

Figure 10

Robot stances. Several different stances are shown in this figure. Each stance can be used to overcome obstacle of different size and shape. A1, A2: The highest stance the robot is capable of. This stance can be used to get over high obstacles up to 38 cm. B1, B2: The basic stance of the robot that is used during ordinary movement. C1, C2: Stance with the smallest height (only 20 cm) can be used to crawl under a low obstacle. D1, D2: This stance is lower modification of the basic stance and is also used during ordinary movement. E1, E2: The shortest stance. F1, F2: Third variant of the basic stance, which is the lowest.

4 Robot controller

The controller consists of five main blocks: reflexive layer, terrain controller, gait selector, leg coordinator and leg controllers (see Figure 11). Additionally, it uses data from the sensor layer.

Figure 11 A schema of robot controller. Sensors provide data to reflexive layer that can control leg movement directly in case of emergency. Sensor data is also sent as an input to terrain controller where are transformed and used by gait selector to determinate the most appropriate gait for current terrain. Selected gait is then executed by leg coordinator which commands leg controllers.

Figure 11

A schema of robot controller. Sensors provide data to reflexive layer that can control leg movement directly in case of emergency. Sensor data is also sent as an input to terrain controller where are transformed and used by gait selector to determinate the most appropriate gait for current terrain. Selected gait is then executed by leg coordinator which commands leg controllers.

The reflexive layer uses sensors’ data to activate reflexes by sending direct commands into leg coordinator or leg controller. If no reflex is triggered, the sensors’ data goes into a terrain controller, which transforms the data into terrain difficulty. This difficulty is then sent into gait selector, which selects the most appropriate gait. Selected gait is then executed by leg coordinator, which commands leg controllers. Each leg has one leg controller that is responsible for transforming leg coordinator commands into the desired movement of the leg.

Because the robot combines walking and riding movement, the omni-directional movement using wheels was implemented as one of the gaits. This ride on wheels is then chosen by the gait selector on a flat terrain.

4.1 Reflexive layer

The reflexive layer of the movement controller implements three basic reflexes.

The stepping reflex ensures that the robot keeps the legs in the best positions to spare energy or to better support the body. If it is possible, the leg is moved closer to the body.

The elevator reflex is used when the leg is moving to a new position. If the leg encounters an obstacle and cannot finish its move, it tries to lift the leg higher and step over the obstacle.

Searching reflex is used when the leg cannot reach the ground at the expected location. It then tries to find another foothold to support the body and finish the step. Reflexes are shown in Figure 12.

Figure 12 A) Stepping reflex. The leg can step from the position 2 to the position 3 to better support the body. B) Elevator reflex. If the leg encounters an obstacle 2, it tries to lift the leg higher to step over the obstacle and find new position for the leg tip. C) Searching behaviour. If the leg cannot reach ground at the expected location 2, it tries to find another foothold 3. This figure is taken from [26].

Figure 12

A) Stepping reflex. The leg can step from the position 2 to the position 3 to better support the body. B) Elevator reflex. If the leg encounters an obstacle 2, it tries to lift the leg higher to step over the obstacle and find new position for the leg tip. C) Searching behaviour. If the leg cannot reach ground at the expected location 2, it tries to find another foothold 3. This figure is taken from [26].

Reflexive layer is also responsible for avoiding dynamic obstacles that are not part of high-level path planning, relocating the leg when it loses foothold and rotating the legs in inclined terrain or when the robot falls on its back.

4.2 Terrain controller

The terrain controller is used to transform data from the sensor layer into terrain difficulty, which is then used by gait selector to pick the most appropriate gait for current terrain conditions. The terrain controller uses data from inertial measurement units (IMUs), encoders, torque meters, thermometers and ultrasonic sonars. It monitors several metrics:

  1. the height of the step - if a leg doesn’t hit any obstacle on the ground while lifted only to specific threshold, the terrain is considered flat. Otherwise the terrain difficulty is increased.

  2. the tilt of the body - if the body reaches threshold tilt the terrain difficulty is increased. Different counters are used for pitch and roll of the robot as it has different impact on the gaits.

  3. count of obstacles - increased number of obstacles in the environment indicates higher difficulty of the terrain. There are two kinds of obstacles. Either the robot can overcome the obstacle or the robot has to circumvent the obstacle. Only the first type of obstacles have impact on the terrain difficulty because the second type of obstacles is avoided by navigation of the robot and does not have effect on the gait selection. On the other hand the number of overcomable obstacles indicating difficult terrain results in increase of the terrain difficulty to prevent the fall of the robot.

  4. count of spikes produced by IMU on the body - if the robot travels on wheels, the higher count of the spikes means the robot is travelling through difficult terrain and the robot should change to some walking gait.

  5. count of disappeared leg support - when the robot often loses leg support, it indicates unstable or interchangeable terrain. Once a threshold is reached, the terrain difficulty is increased.

4.3 Gait selector

The gait selector uses information from the terrain controller and picks the most suitable gait for current terrain conditions. Once the gait is selected the leg coordinator executes this gait.

The selection is based on the terrain difficulty of each parameter. The selection process is represented by Table 2. Gaits are ordered according to its speed and stability. The wheels ride has the highest priority and wave gait the lowest. The higher the terrain difficulty, the more stable and slower gait is selected. For selection of a gait all its criteria in the table must be met. Otherwise a gait with lower priority is selected to achieve more stable movement.

4.4 Leg coordinator

The most suitable gait selected by the gait selector is then executed by the leg coordinator. Its task is to synchronize leg movements and compose selected gait from each leg movements. The leg coordinator can be interrupted by the reflexive layer.

The leg coordinator implements several gaits. Tripod gait is based on two groups of legs. During each step the first group of the legs is lifted and is rotated forward and is laid on the ground. Then the other group is lifted. Now both groups are moving, the first group backward, the second group forward and finally the second group is laid on the ground. It is obvious that both groups perform the same movement, but they are shifted by half a period. Tripod gait is the fastest gait.

Wave gait is the most stable gait, but also the slowest. It consists of a sequential setting of legs forward and only when all the legs are set to the new positions, the step is completed. In each phase of step maximally one leg is lifted up, which leads to the high stability of this gait.

Ripple gait is inspired by insects. Each leg performs the same movement – up, forward, down, backward. Leg movements partially overlap. In other words, when the first leg is lifted and begins its movement forward, the second leg begins to lift up. In this way the robot cycles through all legs.

The leg coordinator can also produce tetrapod gait and ride using wheels.

4.5 Leg controller

Each leg has its leg controller that is managed by a leg coordinator. The leg controller receives the instruction of speed and goal position from the leg coordinator. These values are converted to coordinates using inverse kinematic and the leg swing is made.

Table 2

Gait selection according to the terrain difficulty parameters

Movement Max. step high [mm] Body tilt [°] Obstacles count IMU spikes size Disappeared supports count
Wheels - 〈−7, 7〉 0 ≤10 ≤3
Tripod 100 〈−20, 20〉 > 0 > 10 ≤3
Tetrapod 120 〈−25, 25〉 > 0 > 10 ≤4
Ripple 220 〈−30, 30〉 > 0 > 10 ≤5
Wave 350 〈−30, 30〉 > 0 > 10 ≤5

Although the robot has seven degrees of freedom, the inverse kinematic doesn’t have to be used for all seven degrees of freedom. Two degrees of freedom are used for omni-directional wheel, which is used only on flat terrain. The remaining five degrees of freedom are used for the walking. The tarsus joint is constrained to be always parallel to the gravity vector and its angle is calculated from the gyroscope data that are received from the leg IMU. The Coxah joint is used to compensate the tilt while the robot climbs uphill. The rotation of legs using the Coxah is controlled by the reflexive layer. The gyroscope data from the body IMU are used. Therefore only three angles for coxa, femur and tibia joints must be calculated using the inverse kinematics for the actual movement. The following equations are used to calculate these three angles for each leg using inverse kinematics [27]. The established coordinate systems is shown in Figure 13.

(1) L=x2+z2

(2) Lt=(L-L1)2+y2

(3) γ=arctan(L-L1y)

(4) β=arccos(L32-L22-Lt2-2L2Lt)

(5) α=arccos(Lt2-L22-L32-2L2L3)

(6) θ1=90-α

(7) θ2=90-(γ+β)

(8) θ3=arctan(zx)

where L1 is coxa length, L2 is femur length, L3 is tibia length, L is the distance between coxa joint and the foot tip, Lt is the distance between femur joint and the foot tip and θ1, θ2 and θ3 are the angles for coxa, femur and tibia joints.

Figure 13 Leg coordinate system established for the purposes of inverse kinematic calculations. L1 is coxa length, L2 is femur length, L3 is tibia length, L is the distance between coxa joint and the foot tip, Lt is the distance between femur joint and the foot tip, θ1, θ2 and θ3 are the angles for coxa, femur and tibia joints and α, β and γ are angles used during inverse kinematic calculations. Both Coxah and tarsus joints are controlled by reflexive layer and are thus not included in the inverse kinematic calculations. Inspired by [27].

Figure 13

Leg coordinate system established for the purposes of inverse kinematic calculations. L1 is coxa length, L2 is femur length, L3 is tibia length, L is the distance between coxa joint and the foot tip, Lt is the distance between femur joint and the foot tip, θ1, θ2 and θ3 are the angles for coxa, femur and tibia joints and α, β and γ are angles used during inverse kinematic calculations. Both Coxah and tarsus joints are controlled by reflexive layer and are thus not included in the inverse kinematic calculations. Inspired by [27].

This applies to walking gaits. On flat terrain the ride on wheels is selected by the gait selector and the leg controller does not use inverse kinematics to reach the desired leg position but rotates the wheels so the robot moves forward or backward. For movement in different directions the wheels are turned in the desired direction of movement.

During the ride on wheels each leg can be turned in a slightly different direction, which causes tension between the legs. This tension is compensated by the reflexive layer, which measures the tension in each motor and adjusts the direction accordingly.

4.6 Testing of the controller

To verify the basic functionality of the robot controller a simple testbed was built. It consists of three terrain segments. The first segment was a flat terrain where the ride on the wheels was tested. The second segment was a step field where different gaits were tested. The last segment was an inclined slope where the robot used the horizontal coxa joint to compensate the slope.

In the flat terrain the robot was able to ride on the wheels without any issues in various stances.

Three different gaits were tested in the step field segment. The robot travelled through the step field without issues using both wave and tetrapod gaits. During usage of tripod gait the robot fell several times but was able to recover and continue its walk.

In the inclined slope segment the robot was efficiently using its horizontal coxa joint to compensate the slope and was changing its posture to adapt to the inclination. During the testing we discovered that the wheels are less slippery than the leg tips when the robot stands in the inclined terrain. It is probably because of the material from which the wheels are made and its larger area of contact with the ground. The robot was able to ride artificial sloping terrain up to 40 degrees and remain statically stable up to 50 degrees.

5 Conclusion

This paper deals with the design of an omni-directional seven degrees of freedom hexapod robot that has advantages of both wheeled and legged chassis. A unique combination of legged robot with additional coxa joint and omnidirectional chassis was presented. Each leg has seven degrees of freedom – five for leg movement and two as an omni-directional chassis, which allows the robot to travel much faster than ordinary legged robots. Additionally, a horizontal coxa joint provides better body support in inclined terrains and allows the robot to operate after falling on its back. We also proposed a new design of movement controller, which can react on terrain difficulty and adjust the movement speed and gait of the robot.

The robot can walk using several gaits and its maximal walking speed is approximately 3.9 m/min. Its maximal drive speed is approximately 38 m/min which is almost ten times faster than the walking speed although the robot is capable of this speed only in flat terrain. The robot can also overcome various obstacles and narrow spaces using different stances and can use additional degrees of freedom to manipulate objects. The combination of horizontal coxa joint and the terrain controller allows the robot to ride inclined terrains up to 40 degrees and remain statically stable in slopes up to 50 degrees [28].

In the future work, we would like to add leg tips on the opposite side of tarsus joints to eliminate the possibility that the wheels get stuck in the terrain inequality.

Acknowledgement

This work was supported by The Ministry of Education, Youth and Sports of the Czech Republic from the National Programme of Sustainability (NPU II); project IT4Innovations excellence in science - LQ1602 and by the project IGA FIT-S-20-6427.

References

[1] Saranlı U., Dynamic locomotion with a hexapod robot, Ph.D. thesis, The University of Michigan, 2002Search in Google Scholar

[2] Takubo T., Arai T., Inoue K., Ochi H., Konishi T., Tsurutani T., Hayashibara Y., Koyanagi E., Integrated limb mechanism robot ASTERISK, Journal of Robotics and Mechatronics, 18(2), 2006, 203–21410.20965/jrm.2006.p0203Search in Google Scholar

[3] Yoshioka T., Takubo T., Arai T., Inoue K., Hybrid locomotion of leg-wheel ASTERISK H, Journal of Robotics and Mechatronics, 20(3), 2008, 403–41210.20965/jrm.2008.p0403Search in Google Scholar

[4] CITEC, First steps for Hector the robot stick insect, https://www.cit-ec.de/en/news/first-steps-hector-robot-stick-insect, 2019, [Online; visited 13-09-2019]Search in Google Scholar

[5] NASA, All-Terrain Hex-Limbed Extra-Terrestrial Explorer, http://athlete.jpl.nasa.gov/, 2009, [Online; visited 30-09-2015]Search in Google Scholar

[6] Schneider A., Paskarbeit J., Schilling M., Schmitz J., HECTOR, a bio-inspired and compliant hexapod robot, in Conference on Biomimetic and Biohybrid Systems, Springer, 2014, 427–42910.1007/978-3-319-09435-9_51Search in Google Scholar

[7] Rönnau A., Heppner G., Nowicki M., Dillmann R., LAURON V: A versatile six-legged walking robot with advanced maneuverability, in 2014 IEEE/ASME International Conference on Advanced Intelligent Mechatronics, IEEE, 2014, 82–8710.1109/AIM.2014.6878051Search in Google Scholar

[8] Elfes A., Steindl R., Talbot F., Kendoul F., Sikka P., Lowe T., Kottege N., Bjelonic M., Dungavell R., Bandyopadhyay T., et al., The multilegged autonomous explorer (MAX), in 2017 IEEE International Conference on Robotics and Automation (ICRA), IEEE, 2017, 1050–105710.1109/ICRA.2017.7989126Search in Google Scholar

[9] Bjelonic M., Kottege N., Homberger T., Borges P., Beckerle P., Chli M., Weaver: Hexapod robot for autonomous navigation on unstructured terrain, Journal of Field Robotics, 35(7), 2018, 1063–107910.1002/rob.21795Search in Google Scholar

[10] Dynamics B., Spot, https://www.bostondynamics.com/spot, 2020, [Online; visited 19-02-2020]Search in Google Scholar

[11] Hutter M., Gehring C., Jud D., Lauber A., Bellicoso C.D., Tsounis V., Hwangbo J., Bodie K., Fankhauser P., Bloesch M., et al., Anymal-a highly mobile and dynamic quadrupedal robot, in 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), IEEE, 2016, 38–4410.1109/IROS.2016.7758092Search in Google Scholar

[12] Semini C., Barasuol V., Goldsmith J., Frigerio M., Focchi M., Gao Y., Caldwell D.G., Design of the hydraulically actuated, torque-controlled quadruped robot HyQ2Max, IEEE/ASME Transactions on Mechatronics, 22(2), 2016, 635–64610.1109/TMECH.2016.2616284Search in Google Scholar

[13] Manoiu-Olaru S., Nitulescu M., Stoian V., Hexapod robot. Mathematical support for modeling and control, in System Theory, Control, and Computing (ICSTCC), 2011 15th International Conference on, 2011, 1–6Search in Google Scholar

[14] Moore E., Buehler M., Stable stair climbing in a simple hexapod robot, Technical report, DTIC Document, 2001Search in Google Scholar

[15] Tedeschi F., Carbone G., Design Issues for Hexapod Walking Robots, Robotics, 3(2), 2014, 181–20610.3390/robotics3020181Search in Google Scholar

[16] Wilson D.M., Insect walking, Annual review of entomology, 11(1), 1966, 103–12210.1146/annurev.en.11.010166.000535Search in Google Scholar PubMed

[17] Belter D., Skrzypczyński P., A biologically inspired approach to feasible gait learning for a hexapod robot, International Journal of Applied Mathematics and Computer Science, 20(1), 2010, 69–8410.2478/v10006-010-0005-7Search in Google Scholar

[18] Arduino, Arduino Mega 2560 Rev3, https://store.arduino.cc/mega-2560-r3, 2019, [Online; visited 10-09-2019]Search in Google Scholar

[19] B R.P..M., Raspberry Pi, https://www.raspberrypi.org/products/raspberry-pi-2-model-b/, 2019, [Online; visited 30-08-2019]Search in Google Scholar

[20] ROBOTIS, DYNAMIXEL – MX Series, http://www.robotis.us/mx-series/, 2019, [Online; visited 02-09-2019]Search in Google Scholar

[21] Pi R., Raspberry Pi 4 Model B, https://www.raspberrypi.org/products/raspberry-pi-4-model-b/, 2019, [Online; visited 11-02-2019]Search in Google Scholar

[22] Ding X., Rovetta A., Zhu J., Wang Z., Locomotion analysis of hexapod robot, INTECH Open Access Publisher, 201010.5772/8822Search in Google Scholar

[23] Diegel O., Badve A., Bright G., Potgieter J., Tlale S., Tlale, Improved Mecanum Wheel Design for Omni-directional Robots, Australasian Conference on Robotics and Automation, 2012Search in Google Scholar

[24] Wang C., Liu X., Yang X., Hu F., Jiang A., Yang C., Trajectory tracking of an omni-directional wheeled mobile robot using a model predictive control strategy, Applied Sciences, 8(2), 2018, 23110.3390/app8020231Search in Google Scholar

[25] Buchanan R., Bandyopadhyay T., Bjelonic M., Wellhausen L., Hutter M., Kottege N., Walking posture adaptation for legged robot navigation in confined spaces, IEEE Robotics and Automation Letters, 4(2), 2019, 2148–215510.1109/LRA.2019.2899664Search in Google Scholar

[26] Espenschied K.S., Quinn R.D., Beer R.D., Chiel H.J., Biologically based distributed control and local reflexes improve rough terrain locomotion in a hexapod robot, Robotics and autonomous systems, 18(1), 1996, 59–6410.1016/0921-8890(96)00003-6Search in Google Scholar

[27] Duan X., Chen W., Yu S., Liu J., Tripod gaits planning and kinematics analysis of a hexapod robot, in 2009 IEEE International Conference on Control and Automation, IEEE, 2009, 1850–185510.1109/ICCA.2009.5410582Search in Google Scholar

[28] Bjelonic M., Kottege N., Beckerle P., Proprioceptive control of an over-actuated hexapod robot in unstructured terrain, in 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), IEEE, 2016, 2042–204910.1109/IROS.2016.7759321Search in Google Scholar

Received: 2020-02-29
Accepted: 2020-05-13
Published Online: 2020-12-17

© 2021 Marek Žák et al., published by De Gruyter

This work is licensed under the Creative Commons Attribution 4.0 International License.

Scroll Up Arrow