1. Introduction
Legged robots are a type of mobile robot that uses articulated limbs to provide locomotion. They are more versatile than wheeled robots and can traverse many different terrains, although these advantages require increased complexity and power consumption [
1,
2]. Legged robots have significant advantages over wheeled robots for walking over rough terrain and climbing complex infrastructures. For this reason, interest in this type of locomotion has increased in recent years, and, as a result, impressive results have been achieved through advances in control techniques and the improvement on direct drive actuators. The state-of-the-art focus is mainly on biped, quadruped, and hexapod robots, but some researchers continue to pay attention to other robotic morphologies. Thanks to their advantages, legged robots can be used for various applications ranging from inspection, construction, delivery, search and rescue, to underwater exploration [
3].
Multilegged animals have served as an inspiration for the mechanical structures of legged robots. Knowledge of bionics is employed in research on legged robots of all sizes, while the mechanical structures of heavy duty ones must meet significantly higher demands [
4]. The correct design of the mechanical structure affects its performance, including mobility, energy efficiency, and control algorithms. The common problem of low energy efficiency is often encountered in this type of robotic locomotion due to sub-par leg actuators [
5]. This poor design is exacerbated with climbing robots, and may be due to the difficulty of estimating the torque required by actuators based on simple calculations and without taking into account the hyperstatic complexities of this type of robot.
The control of multi-body robotic systems can be performed by two types of controllers: those based on inverse kinematics (“inverse kinematics controllers”, IKC) and those based on inverse dynamics (”inverse dynamics controllers”, IDC) [
6]. The first type generates velocity commands for the joints, while the second one produces torque commands. Although IKCs are still used in robotics [
7,
8], IDCs are recommended more for controlling legged robots [
9,
10,
11], especially climbing ones. Legged and climbing robots are hyperstatic systems during operation, and small manufacturing and state estimation errors make controllers work against each other when using position and velocity commands only, regardless of the force they are applying.
There are two main methods for robot dynamics analysis: the Newton–Euler equation method and the Lagrange equation method [
12]. Establishing a dynamic model of the system using the Lagrange equation is considered better for the multi-DOF system in [
12]. However, in this article, we demonstrate the advantages of using the Newton–Euler equations for a multi-limbed system where dynamic components can be neglected, such as climbing robots that use static gaits. The results of this study conclude with the static model, which indicates the torque that actuators have to apply to compensate for the action of gravity.
This article describes an efficient torque-based control algorithm for climbing robots with a variable number of legs. To do so, we introduce in first place the kinematic model of the ROMERIN robot [
13] (
Figure 1), a modular legged climbing robot for inspection and maintenance of large infrastructure, in which its components are coordinated and controlled by means of the MoCLORA architecture [
14]. The robot is based on modular legs that have the ability to share energy in such a way that if the battery of one module stops working for any reason, the rest of the modules can share their energy, increasing the robustness of the robot [
15].
We describe a torque-based control of multi-limbed hyperstatic systems. Most climbing legged robots have the peculiarity that they are hyperstatic structures when there is a physical adhesion between the gripping system and the surroundings. This fact makes it difficult and risky to control them exclusively with IKCs.
The main points and features of this article are summarized as follows:
Wrist actuators become passive whenever the adhesion system is attached to any surface. Thus, the complexity of the kinematic chain is reduced and, consequently, so is the complexity of the static model computation, which is implemented in a robot with a non-defined number of legs.
A low-weight computational method for computing the static model of a multi-limbed system is presented and, consequently, a gravity compensator is obtained.
Our static model solver method is compared with the most used one, which is based on the Lagrange equation method and the use of the robot Jacobian. The system is validated in both simulation and hardware experiments.
The results of the IKCs and the proposed torque-based control are compared using the same robot. The remarkable advantages of torque-based control are highlighted.
The article is organized as follows. In
Section 2, we discuss the state-of-the-art legged and climbing robot and the types of controllers. The ROMERIN robot and its kinematic description are briefly presented in
Section 3. In
Section 4, we present a discussion of torque-based control for hyperstatic articulated systems, as well as the premises of the estimation of reaction forces. This section also includes a comparison between the most widely used approach and the one proposed in this article. In
Section 5, the control techniques implemented under torque-based control are detailed, together with the position estimation of the robot. We end the article with results and conclusions in
Section 6 and
Section 7, respectively.
2. State of the Art
Legged robots can be classified according to their purpose (walking or climbing), leg kinematics, or number of legs. A common classification for leg kinematics distinguishes between articulated legs (with and without wheels), orthogonal legs, pantograph legs, or telescopic legs [
4,
16].
Articulated legs possess high maneuverability and flexibility compared to the other types of legs and are the most common leg structure found in the literature. Among the robots that use articulated legs, we find walking quadrupeds such as Spot [
17], ANYmal [
18], or StarlETH [
19]. Nowadays these robots show great maneuverability and have advanced dynamic control thanks to sophisticated IDCs. Walking hexapods with articulated legs are very common. Some examples are LAURON [
20], whose last version of the series (LAURON V) shows applicability over rough and hazardous terrains, RIMHO II [
21], which includes sensors to detect and locate antipersonnel landmines, or OSCAR [
22], which shows robustness against loss of legs. All these robots use IKCs to manage the position of the robot, and show no evidence of implementing torque-based controllers. It is also possible to find climbing quadrupeds with articulated legs, such as MRWALLSPECT-II [
23], LEMUR [
24], Magneto [
25], or RVC [
26], and climbing hexapods such as ROMHEX [
27]. However, no evidence about torque-based controllers is found in the literature of these robots. Other articulated legged robots do not have a defined number of legs, such as the case of the walking robot Nimble Limbs [
28], which uses an IKC, or the robot proposed in this article.
Robots that use orthogonal legs facilitate compensating the effect of gravity without large energy costs, but are less flexible than other leg types. Few recent studies on this type of leg structure are in the state of the art. As an example, in [
29] the authors present a hexapod walking robot specifically designed for humanitarian demining applications, showing great energy efficiency and low power consumption. Regarding climbing robots using this leg configuration, one of the most relevant studies for quadrupeds is ROBOCLIMBER [
30], which is a bulky quadruped climbing-and-walking machine capable of carrying heavy-duty drilling equipment for landslide consolidation and monitoring works. Ambler [
31] and the wall climbing robot REST [
32] are examples of cartesian coordinate hexapod robots. Torque-based controllers are not found in the description of these robots. In fact, this type of robot is not as dependent on static and dynamic calculation as robots with articulated legs, since they compensate the effect of gravity mainly thanks to their peculiar structure.
Pantograph legs have the advantage of decoupling horizontal and vertical motions. The legs are usually lighter due to the parallel mechanism they use, which allows the actuators to be located in the body. An example of a quadruped walking robot with this type of leg configuration is Oncilla [
33], a bio-inspired low-weighted robot that shows agile and versatile locomotion, such as trotting on level ground, climbing and descending slopes, and turning. The adaptive suspension vehicle (ASV) [
34] and MECANT I [
35] are examples of hexapods that use pantograph legs controlled by IKCs. ASV, the largest hexapod in the world, was designed to carry cargo for industrial and military applications on rough, mountainous, icy, or muddy terrain. A relevant example of pantograph legs in climbing robots is SCALER [
7], a quadrupedal robot that, in its climbing configuration, has 6DOF per leg. It demonstrates climbing walls, overhangs, ceilings, and trotting on the ground.
Telescopic legs, which have a compact structure, are primarily intended for bipeds [
36,
37], although there are other types of robots with this type of structure, such as quadrupeds [
38] or hexapods [
39].
Model-based control methods, such as IDCs, can be used to enable the fast, dexterous, and compliant motion of robots without sacrificing control accuracy. However, implementing such techniques on floating-base robots is not trivial because of underactuation, dynamically changing constraints from the environment, and potentially closed-loop kinematics. Most legged robots that use IDCs focus on floating-base systems by obtaining the Lagrange equations. In [
40], the authors show how to analytically compute the inverse dynamics torques for model-based control of sufficiently constrained floating base rigid body systems, such as humanoid robots with one or two feet in contact with the environment. Similarly, in [
41] the authors present an inverse dynamics controller for legged robots that use torque redundancy to create an optimal distribution of contact constraints. In [
12], the authors present the dynamic model of a 5DOF wall-climbing robot, which can be considered an open-loop chain, since it has only two grippers and alternates their adhesion.
4. Torque-Based Control of Hyper-Static Multi-Limbed Systems
As denoted previously, control of multi-body robotic systems can be controlled by two types of controller, IKCs and IDCs. Our control system makes use of both, trying to take advantage of each approach. This responds to two different situations for the leg:
When the leg is attached to the environment, the interaction between both is reflected in the appearance of reaction forces. In this case, the module should be controlled by an IDC to avoid an overload of the actuators due to the closing of the kinematic chain.
When the leg is detached and free, no reaction forces appear in the leg, and therefore it can be controlled with an IKC or by means of an IDC.
One of the problems studied for multi-legged robots is how to determine the best sequence to lift and place the feet [
43]. Non-climbing multi-legged robot locomotion can be classified into dynamic locomotion (running and hopping), and static locomotion as walking, where the body is constantly stable. For them, the vertical projection of the center of gravity of the robot has to be within the supporting polygon that links the positions of all supporting feet.
For bio-inspired climbing robots, the dynamic gait is a faster and more difficult style, similar to other non-climbing legged robots. Several models describe dynamic gait to improve robot speed. The spring-mass model consisting of a massless spring attached to a point mass describe the interdependency of mechanical parameters that characterize the running and jumping of humans as a function of speed [
44]. Robots with dynamic gaits, such as [
45] or [
46], have been proven to be feasible with a pendulum mechanism or springs. Furthermore, the adhesion system has to work practically instantaneously to guarantee the dynamic gait. They also face the problem that their applications are so far limited to climbing on a plane.
For a system such as the one proposed in this article, dynamic gait is discarded because of the attaching/detaching process of the suction cup, and because of safety reasons (related as well to the adhesion system). In fact, for the first of the situations proposed at the beginning of this section, each module of the robot has very low speed and acceleration. Thus, the inertial and centrifugal components of the dynamic model can be neglected with respect to the gravitational component. This problem simplification concludes in the static model of the system (Equation (
11)), where only the forces and torques produced by the action of gravity and the reaction forces appear. The result of the equation is related to the torques that each joint has to apply to compensate for body weight.
This robot has
controllable DOFs, of which
are forced to be passive when the leg module is attached (wrist), while only six DOFs related to body position and orientation can be controlled (
SO(3)). The system is hyperstatic when, while the gripper system is attached to the environment, there are more DOFs to act than DOFs to control. As this difference increases, the system becomes more complex and more inaccuracies are penalized in the estimation of the torques to be applied. The passivity of the wrist is made by deactivating the power of the actuators, and it reduces hyperstaticity and allows for computing the force distribution problem (FDP). Many legged robots use force/torque sensors to skip FDP and reduce software complexity, while increasing platform costs [
7].
4.1. Force Distribution Problem (FDP)
The force distribution problem is one of the challenges for legged robots. According to the characteristics of multi-chain systems of legged robots, it is explicitly remarked that the chains located in the support phase are tightly attached to each other [
4]. This fact has been highlighted in this dissertation as the hyperstatic problem.
Generally, during the stance phase, the reaction forces that appear in the robot have to meet physical constraints to be valid:
For a walking legged robot located in the z-plane (opposite to the gravity vector), the normal contact forces of the support feet are positive:
This means that if the legged robot is walking on a slope (moving on x-direction), positive tangential forces are strictly required during the stance phase:
On the other hand, for climbing legged robots, the normal contact forces of the support can be as negative as desired, as long as it is ensured that the torque of the actuators does not exceed the permissible limits (point 4), and the suction cup is not at risk of detaching from the surface.
The total normal force of the stance phase is equal to the force produced by the weight of the legged robot. That is, the sum of the reaction forces compensates the gravitation component, and the sum of the momentum is zero:
When force/torque sensors are used on the feet, it is possible to observe that the values differ slightly due to motion, assumptions, and inaccuracies. When estimating forces by solving the FDP, the values may differ slightly due to set thresholds for the convergence of numerical methods. Similarly, for climbing robots, there should also be a moment equilibrium.
For legged robots, the support feet must not slip:
where
and
are the foot forces of leg
i of the support phase in the
x and
y directions, respectively, and
is considered the relevant friction coefficient of the ground. For climbing robots, the normal force must be lower than a limit value, which is generally denoted as the grip force
:
Finally, the torques in each actuator have to be lower than their torque limits:
where
is the maximum articulated torque vector of the leg
i;
is the Jacobian of the leg
i; and
is the reaction forces related to
.
The solution of FDP for legged robots is a complex mathematical programming problem [
4]. The main solving methodologies are as follows:
In this article, we implement the alternative presented in [
51], where the problem of a hyperstatic system is attacked. The reaction forces are referred to the gravity center. Thus, first of all, one must calculate the gravity center of the robotic robot. A model-based computation can be applied since the position of each joint is well known thanks to the embedded encoders, as well as the mass and the dimensions of the links and body.
To do so, each leg calculates its own gravity center with respect to its own reference frame. A crucial part is that the mass of the gripping system is ignored when the suction cup is attached to a surface because it could be considered part of the environment. For the following equations,
represents the position of the gravity center of the leg
i referred to the reference frame
A. Then, for each non-supporting leg (swing phase), the kinematic model presented in
Table 2 and
Figure 3 is used, and the gravity center of the leg
i is calculated as:
On the other hand, for each supporting leg (stance phase), the gravity center of leg
i is computed (with
) as:
For both cases, supporting and non-supporting legs, the position of the leg gravity center is transformed to
as:
where
denotes the position transform from
to
, and therefore, the gravity center of the whole system (referred to
) is given by:
where
represents the robot mass that is considered for the computation of the reaction forces,
for non-supporting legs, and
for supporting legs. Being
and
, the number of supporting and non-supporting legs, respectively, the value of
is given by:
The position of the wrist points (where the reaction force appears) and the total center of mass of the robot are required to compute the reaction forces with the implemented estimator. To do so, Equation (
24) denotes the transformation between the center of gravity and the Wrist Point (WP) pose as:
where
can be obtained with the forward kinematics given by Equation (
5), and
is given by Equation (23). For simplicity,
is located with the same orientation as
.
Once the position of the WPs and the direction of the gravity vector are known thanks to an integrated IMU in the body, the reaction forces can be computed as presented in [
51]. As an example, in
Figure 5 two examples of the reaction forces that appear in the WPs when the robot is in a static central position are illustrated.
4.2. Classical Method
In the world of static forces the transpose of the robot Jacobian relates the forces exerted by the end-effector to the forces exerted by each joint. Thus, according to the classical method, Equation (
25) indicates how to calculate the torques required whenever an external force is applied to the end effector.
Regarding the gravitational component, it can be obtained by means of analytical ways: Euler–Lagrange [
52], recursive Lagrange [
53], recursive Newton–Euler [
54], Kane’s equations [
55], the D’Alembert principle [
56], and some alternate algorithms that are based on velocity constraint matrices [
57] or a divide-and-conquer approach [
58].
4.3. Implemented Method
In order to solve Equation (
11), we propose a method to compute the torque that each actuator has to apply to compensate gravitation forces without the use of the Jacobian matrix for the forces exerted by the end-effector and without the use of other analytical calculations for the gravitational components.
In this method, the Newton–Euler method is used. Basically, the Newton–Euler equations describe the combined translations and rotational dynamics of a rigid body. They are used as the basis for more complicated "multi-body" formulations (screw theory) that describe the dynamics of systems of rigid bodies connected by joints and other constraints. Multi-body problems can be solved by a variety of numerical algorithms [
59]; however, for our specific case, we have formulated Algorithm 1. It is presented from a modular point of view, where each module computes the torques required to compensate gravitational forces.
Algorithm 1 Gravity torque compensator of module i |
Outputs: |
1: | for do |
2: | for do |
3: | if then |
4: | Skip | ▹ Only child links |
5: | |
6: | |
7: | | ▹ Weight torques |
8: | |
9: | |
10: | |
11: | | ▹ Torques related to the external forces applied at WP |
12: | |
13: | |
14: | | ▹ Project to j joint axis |
The torques required to compensate the gravity forces are calculated for each joint. Equation (
26) calculates the momentum produced on an object based on the amount of force applied,
to the object at a distance,
, from the pivot point from where the force is applied to the pivot point of the object. In the formula,
represents the unitary vector that projects the moment on the joint axis.
In a similar way to the resolution of bending moment diagrams, a hyperstatic system can be approached by analyzing the forces that appear on it at certain points of interest (in this case, at the joints of the robot). By making a section at each of the joints, an analysis of the forces remaining on one of the sides is performed. The simplest way is to apply the forces appearing in the module itself, i.e., the weights of the links farthest from the body and the reaction force appearing in the given module.
4.4. Comparison of Methods
The methods presented in
Section 4.2 and
Section 4.3, respectively, give the same results under the same conditions. The first method has been widely used for legged robots, and it is one of the unique methods found in the literature. A great example is [
60], where the authors use the Jacobian transpose to compute the torques required by external forces, which are computed thanks to the combination of the QP method with the reduction in the problem size proposed in [
61] to solve the FDP.
Table 3 indicates the computation time for each method for one leg (including the standard deviation) and for a modular robot of four and six legs. Although the growth of the computation time is linear for both cases, it is possible to observe that as the number of legs increases, the computation time for the first method increases considerably. It is particularly important for a multi-legged system where the logic runs on a single computer and where the control rate and computational cost are critical. This importance increases for systems such as ROMERIN, where the number of legs can be considerably increased to adapt to specific real-time applications. In addition, it is especially important in sampling-based algorithms for motion planning, where the computation is performed many times.
As denoted in the table, the average computational cost of the proposed method is half that of the classical method. This is due to the use of the Jacobian matrix, which increases the computation requirements. To point out the importance of reducing computational time, in the case of using a sampling-based algorithm for motion planning in an hexapod robot, the proposed method in this article saves 0.41 s of computation with 1000 samples.
Additionally, the implementation of the proposed method can be very simple by using packages tf or tf2 from ROS and ROS2, respectively. These tools could help the developer create a torque-based control in a simple and fast way, even without developing a detailed kinematic model.
5. Impedance Control of Leg Modules
There are two main alternatives to control the position of the robot while sending torque commands [
62]. The first case is the proportional control plus velocity feedback, whereas the second case is the PD control. Both cases represent closed-loop controllers, where the proportional and derivative constants help the modules push the body of the robot.
The proportional control plus velocity feedback with gravity compensation is the simplest closed-loop controller that may be used to control robot manipulators. The conceptual application of this control strategy is common in angular position control of DC motors. In this application, the controller is also known as a proportional control with tachometric feedback. The equation of proportional control plus velocity feedback is given by Equation (
27), where
and
are symmetric positive definite matrices that refer to the position gain and the velocity gain (or derivative), respectively, and
refers to Equation (11).
On the other hand, the proportional Derivative (PD) control with gravity compensation is an immediate extension of proportional control plus velocity feedback. As its name suggests, the control law is not only composed of a proportional term of the position error as in the case of proportional control, but also of another term which is proportional to the derivative of the position, i.e., to its velocity error:
Proportional control plus velocity feedback may be understood as a PD control where the desired velocity is zero to guarantee stability and reduce rude movements.
Figure 6 shows the control diagram that is integrated in each module, which can be denoted as an impedance control. A body position is commanded
and compared with the estimated body position
. The transformation
is applied to obtain the desired joint position
q via
and the inverse kinematics. A PD controller is applied to obtain the torque based on the joint position error. On the other hand, based on the position estimation and the gravity compensator proposed in this section, another torque component is generated. The sum of both torques is applied to the joints.
5.1. State Estimator
Body position estimation is implemented from [
63]. It takes the robot and IMU odometry as input and fuses them with an Extended Kalman Filter (EKF). Later, it uses points clouds from the mounted RGBd camera to perform a graph-SLAM approach. Body position odometry is obtained through the FK of the supporting legs. Because the initial state of the robot is known, the body position is straightforwardly computed as:
where
is the estimation of the position of the body frame by the module
i,
the transformation from the body frame to the first joint frame of the module
i,
its FK in the initial state, and
its FK at time
k. Since there is the same number of valid solutions as legs, currently the robot odometry is implemented as the average of them as:
On the other hand, the mean robot orientation odometry can be computed as:
where
is the weight of the
quaternion (
) averaged, included as a column vector. In this case, given the modularity of the robot,
is evenly distributed. Q is therefore a
matrix.
The normalized eigenvector corresponding to the largest eigenvalue of is the weighted average. Since is self-adjointed and at least positive, semi-definite, fast, and robust methods of solving that eigen problem are available. Furthermore, this is scalable. Computing the matrix–matrix product is the only step that grows with the number of elements that are averaged.
5.2. Body Trajectory Tracking Control
Following the objective of biomimetics, in this section we describe the body trajectory tracking control without dynamic compensation used in the ROMERIN robot. In the animal world, the body position is usually not controlled directly. On the contrary, animals “establish” their body velocity, and the legs are those that accompany the movement.
Unlike path-following, which focuses on following a predefined path without time constraints, trajectory tracking does not guarantee that the path is faithfully followed. Instead, it involves time as a constraint by correcting the position error. Thus, for the ROMERIN robot, a body velocity control without dynamic compensation is described as:
where
denotes the constant that attempts to correct the position error.
7. Conclusions
In this article, the Newton–Euler formulation was used to develop a novel, platform-generic, low-weight, fast-implemented, and agile method of gravity compensation. By describing the combined translations and rotational dynamics of a rigid body, the basis for more complicated “multibody” formulations that describe the dynamics of systems of rigid bodies connected by joints and other constraints has been presented. To do so, we have presented the algorithm over the ROMERIN robot, which is a modular legged-and-climbing robot with an undefined morphology.
We first introduced the detachment of the adhesion system when performing the static computation of forces, reducing the complexity of the kinematic chain. In addition, we made use of a reliable reaction force estimator and tested it under multiple scenarios. The estimator takes advantage of the passivity of the wrist actuators to balance the momentums at the wrist points. In order to solve the static problem, which is a reduction in the dynamic model of the robot, we introduced the ROMERIN legs’ kinematics, which are required to compute the center of gravity of the entire robot, the gravity compensation by classical methods, and the estimation of the robot state. Consequently, we presented the low-weight computational method to compute the static model of a multi-limbed system, and we compared the method with the classical one, validating it with both hardware and simulated robots.
Comparing the results by using IKCs and the proposed torque-based controller with the same robot, it is possible to conclude that the mean angular and linear error is reduced considerably, as well as the power requirements of the actuators, which is a critical part in articulated multi-limbed robots.