Abstract
One of the most important design constraints of a climbing robot is its own weight. When links or legs are used as a locomotion system they tend to be composed of special lightweight materials, or four-bars-linkage mechanisms are designed to reduce the weight with small rigidity looses. In these cases, flexibility appears and undesirable effects, such as dynamics vibrations, must be avoided at least when the robot moves at low speeds. The knowledge of the real tip position requires the computation of its compliance or stiffness matrix and the external forces applied to the structure. Gravitational forces can be estimated, but external tip forces need to be measured. This paper proposes a strain gauge system which achieves the following tasks: (i) measurement of the external tip forces, and (ii) estimation of the real tip position (including flexibility effects). The main advantages of the proposed system are: (a) the use of external force sensors is avoided, and (b) a substantial reduction of the robot weight is achieved in comparison with other external force measurement systems. The proposed method is applied to a real symmetric climbing robot and experimental results are presented.
1. Introduction
Force sensors [1] have been used since the 1980s in industrial robotics when interaction tasks are required. The most common commercial versions are based on the Maltese-Cross force sensor which consists of a cylindrical device with an inner element joined with elastic links and disposed as a cross with eight (or eight pairs) strain gauges that allows us to achieve the applied forces and torques on the sensor [2]. The sensor is often located between the wrist plate and the tool, and its measurement is achieved regarding the wrist reference frame. Additional hardware is required which is usually connected with the robot control unit or with an external device via its I/O interface. The sensor measurements allow the robot to perform different force or hybrid position-force control tasks [3–6] when it interacts with the environment (assembly, polishing, machining or obtacle avoidance, if mobile robots are considered). These tasks would be impossible to carry out without this kind of sensorial system, although some more complex vision-based algorithms are integrated with the whole sensorial systems of some advanced robots (see a survey from [7]).
On the other hand, when climbing robots are developed with different configurations or legs-based locomotion systems, the weight of the whole robot is an important design constraint and it implies that links, legs, etc., have to be built of lightweight, special materials or with typical linkage mechanisms [8–11]. The use of lighweight links produces a normally undesirable phenomenon which is the flexion of the links. This flexion causes dynamics vibrations whose frequency vibrations are related to the rigidity and the mass distributions of the system [12]. Of course, these vibrations are prevented by a correct selection of the rigidity of the links in a trade-off between increasing the flexion and preventing undesirable dynamics vibrations along with the avoidance of high velocities of the robot elements. But flexion can be exploited as a positive robot functionality in special applications [13],[14] or new robot concepts [6],[16]. Thus, when robot force measurements are necessary, the use of external sensing devices may be avoided by obtaining the forces from the deflection of the robot flexible structure (or a part of it). This is possible by employing strain gauges (as in [16],[17]) and the novel method proposed in this work.
The new method has been implemented in the MATS-ASIBOT platform (see Figure 1 for details). It is a five Degrees of Freedom (DOF) robotic manipulator with 11 kg weight, 1.37 m of maximum reach and it is able to carry a 2 kg payload on each of its two tips. The most important feature of the MATS-ASIBOT platform is that the entire control system is on-board and it only needs a power supply and a wireless user interface from outside. The robot has been conceived as a symmetrical structure which allows it to climb between static and simple docking stations placed into its environment (details in [18]). Additionally, it is equipped with special conical connectors at each of its two tips which allows the robot to perform different movements, as well as the possibility of changing the tip tools in order to perform special tasks or applications [19],[20].

General view of MATS-ASIBOT with some docking stations.
If two commercial sensors were installed on the robotic platform to obtain force tip measurements (between the wrist and the tool, and between the other wrist and the current docking station), it would be necessary to place on-board (inside the inner volume of the main hollow or in the tubular bars) additional elements which conform to the sensor devices or redesign the structure of the robot. Both options, however, are unfeasible. The method proposed in this work solves the problem of the estimation of the tip forces from both robot tips by placing strain gauges in the two main robot links (bars) and then computing the deflection measurements from the robot structure. Therefore, the robot acts as a flexible structure and the position of the free robot tip is also computed from these measurements because it will be slightly different than the tip position achieved under fully rigid considerations (using kinematic transforms).
The paper is structured as follows: Section 2 is devoted to the modelling of the robot as a flexible structure and presents the model for measuring tip forces adapted to the MATS-ASIBOT platform. The instrumentation system developed is briefly described in Section 3. Experimental results that validate the proposed method are presented in Section 4 and conclusions are stated in Section 5.
2. Main effects of forces over a tip of the robot
2.1 Link flexibility
Figure 2 illustrates all the magnitudes implied in the calculation of the deflection of the whole structure when forces and torques are applied on the nodes of the robot and the flexibility condition is assumed.

Generalized forces and deflections over the robot.
With respect to the base frame and taking into account the symmetry of the structure, the stiffness matrix which relates to the structure displacements regarding the forces applied on the structure can be expressed as a function of the so-called “aperture angle” ξ:
where the vector
Vectors
where F i = (fix fiy fiz) T and Ti=(γ ix γYiy γ iz ) T denote the forces and torques on the node ‘i’, while the linear and angular deflections are expressed as Δ i =(δ ix δ iy δ iz ) T and Φ i =(φ ix φ iy φ iz ) T for i = 1, 2, 3, respectively. Subscripts ‘u’ and ‘k’ indicate unknown and known parameters. This vector organization lets dispose expression (1) as:
The known values of the sub-vector Wk are the corresponding values of node 2 and the values to be measured of node 3, while the known values of Δk are the displacements of the robot base, which are considered null. For the given structure, the following known expanded sub-vectors are used, g being the gravity constant and m2, m3 the lumped masses over nodes 2,3:
While the reaction forces and the torques on the base and the structure displacements which compose the unknown sub-vectors, Wu and Δu respectively, are computed by adapting expression (4) as:
Taking into account that the known displacement sub-vector is null (see equation (6)), the deflections on the whole structure Δ u and the known forces Wk are obtained from equation (7). Expressions (2) and (7) are rewritten in a reduced size and only Kuu(12×12) needs to be inverted:
Due to the symmetry of the structure, all the coefficients of the compliance matrix are obtained as a function of the angle ξ via symbolic methods. If more complex structures (as in [12]) were taken into consideration, the symbolic coefficients could not be achieved and numerical computations and tabulating are required.
The whole compliance matrix has to be computed if all the unknown values have to be estimated. Nevertheless, if only the knowledge of the relation between the forces and the linear displacements is required, a much more reduced compliance matrix can be applied. Under this last assumption, the new reduced matrix is composed of the following coefficients:
Finally, if only the relation between tip forces and tip linear deformations is required (when only a tip lumped mass allows modelling the system), the compliance matrix becomes:
where axial effects have been neglected and only bending and torsion effects are computed:
The coefficients showed above are a function of the Young modulus E1, E2, the shear modulus G, the inertia moments of the beams I1x, I1y, I1z, I2x, I2y, I2z and the length L. These coefficients can be simplified if identical beams are used (E1 = E2 and I1x=I2x, I1y=I2y, I1z=I2z or Ix = Iy) (see details in [12]).
After obtaining the coefficients of the compliance matrix, expression (9) cannot be solved because the components of the tip forces F3 are still unknown. The same conclusion is valid for equations (10) and (11) by simple inspection of sub-vector Wk given in equation (5).
Next sub-section shows the model for obtaining the tip forces which are responsible for the deflection of the structure and will allow to measure these forces.
2.2 Joint Torques
Figure 3 shows the main kinematics parameters of the first three DOF of the proposed robot and the involved forces. Due to the symmetry of the robot, the base and the tip are interchangeable nodes (and joints 1,2 are exchanged by joints 5,4), but for the sake of simplicity, node 1 is always considered the fixed one, node 3 represents the mobile tip and the fourth and fifth DOF of the robot are not considered here.

Main variables of the 3 first DOF of the robot
The main gravitational force effects on m2 results in a flexion of the first link (bar) and a reaction torque on the second joint. This torque is easily computed as:
While the effect of any force on the robot tip causes a flexion on the whole structure and reaction torques on the joints, under quasi-static conditions, it is known [3],[4] that the relation between the tip forces and the joint torques is well-determined from the transpose of the geometric Jacobian:
where Γ3θ=(γ13γ23γ33) T and Ftip=F3+F3g with F3g =(0 0 -g·m3) T denote the torques on the joint and the tip forces respectively, and Θ=(θ1 θ2 θ3) T denotes the three first joint angular coordinates. From Figure 3, Denavit-Hartenberg parameters of the first three DOF of the robot are depicted in Table 1:
Denavit-Hartenberg parameters of the first three DOF.
The geometric Jacobian of the reduced robot is obtained from its kinematics parameters as:
where ci=cos(θ i ), si= sin(θ i ), c23 = cos(θ2+θ3) and s23 = sin(θ2+θ3).
Singularities of the reduced robot have to be taken into consideration in order to invert this matrix and their singular joint values can be obtained by solving the following expression:
whose solution does not depend on the first joint angle and which allows us to obtain the singular robot configurations
If non-singular postures are considered, the inverse relationship between the join torques and the tip forces is achieved by inverting expression (27):
Then, the tip forces together with the gravitational force on m3 are computed from the joint torques as (inverse of equation (26)):
Finally, from equations (25), (26), (30) and (31) the total joint torques due to the gravitational forces on the structure nodes and due to the tip forces are obtained as:
and the external tip forces are obtained as:
3. Instrumentation for tip forces' measurements
Assuming that the robot is a flexible structure composed of two main tubular beams with finite stiffness linked with the three main robot joints which are considered rigid, five strain gauge sets are placed on the two main flexible links of the robot according to Figure 4. Four pairs of 120 Ω Kyowa Strain gauges for sensing bending deformation are located on the bases of both links on opposite sides for each of the orthogonal main directions of these links. Each pair is denoted with under scripts_x1 and_x2. The script x = 1, 2 are for the gauges located at the beginning of the first tube and the scripts x = 4, 5 are for the gauges located at the end of the last tube, while four identical (120 Ω too) gauges are placed to measure the torques on the central joint (denoted with under script_3k with k = 1, 2, 3, 4). They are disposed as indicated in Figure 4 at the end of the first tube together with the beginning of the second one. Only the sets with x = 1, 2 and 3 are employed for the experiments and only sets with x = 5, 4 and 3 would be employed if the tip and the base were exchanged.
All gauge pairs use ½ Wheatstone bridge-based amplifiers except gauge set 3 which uses a full bridge configuration with a 4-active-guage system. Simpler configurations can be defined, but the same number of bridges is needed. Single gauges can be employed for any of the main directions of each of the links (orthogonally disposed) and only a ¼ bridge is needed to measure the deflections. Temperature compensation has to be taken into consideration for accuracy measurements.

Location of the strain gauges over the flexible tubes.
The ±10 V signal output from the amplifiers are acquired through on-board AD converters. From these voltage values and by real-time computation of the compliance and the Jacobian matrices, the variation in the gauge resistor allows us to measure the joint torques produced by the forces on the robot and to obtain the deflection of the structure.
4. Experimental results
A general view of the MATS-ASIBOT was depicted in Figure 1 when it was disposed in a vertical pose and connected to one of the docking stations (resting posture of the robot). Additionally, in Figure 1, we can see four docking stations (with different positions and orientations) disposed on a metallic support station.
In this section, three experiments were carried out using the MATS-ASIBOT setup. All the experiments were performed following a similar procedure, i.e., the robot starts the motion from its resting posture and finishes its motion in one of the three different final selected postures or returning to the initial posture. Different forces appear on the robot during its movement: gravitational forces are only considered in the two first experiments, while in the third experiment the robot interacts with the environment causing not only gravitational but also external tip forces.
4.1 Free motion with non-singular postures
The first experiment begins with moving the robot from the resting posture P0 (see Figure 1) to the final posture Pf1 (see Figure 5). Gravitational forces act on the masses m2 and m3. Figure 6 illustrates several intermediate postures with the robot assumed rigid – plotted in red colour – and the robot with the added flexibility effects –green colour – (units in cm). The deformed representations of the structure have been computed by using the reduced compliance matrix given in expression (10) and the coefficients expressed in (12)–(24). Point-to-Point trajectories with trapezoidal velocity profiles were used. In this first case, the joint trajectories were generated from next joint coordinates and t0 = 10, tf = 25s:

Final posture Pf1 selected in the first experiment.

Some rigid and flexible postures from P0 to Pf1.
Using equation (32) for the final robot posture in the first experiment, the following relation between the tip forces and the join torques is achieved as
Figure 7 plots the measured torque γ2(t) (thin blue) compared to the estimated torque γ2_Estimated(t) (thick red) which is computed from equation (32) under the assumption that only gravitational forces act on the robot during the movement.

Torque γ2 during trajectory from P0 to Pf1.
The lengths of the main links L = 0.6685 m are defined as the distances between joints 2-3-4. Furthermore, the values of the lumped masses have been fitted to the values expressed in (36) after using the least-squared methods and identifying them as a two lumped masses model. Remember that one of the masses (m1 or m3) is always fixed to one of the docking stations (exchangeable nodes). In the experiment m1 is considered the fixed node.
Operating with equation (35) and (36), the steady state final values of the joint torques are:
Figure 8 depicts the measured torques γ1(t) and γ3(t) versus the null desired values expressed in (32) and final values achieved in (37).

Torques γ1, γ 3 during trajectory from P0 to Pf1.
From the first final robot posture, and according to equation (33), the tip forces are computed as:
Computing the average values of the steady state final measured torques depicted in Figures 7 and 8, and replacing them into equation (37), yields:
The estimation of the tip forces applied in this experiment were F3 T =(3.59 2.84 0.23V N showing good correspondence between the measured and the estimated values. Moreover, we can see how the low resolution of the used converters makes the estimation of the tip forces not so good for components f3x and f3y near zero values. The error achieved from f3z is considered an acceptable error. The use of AD converters with more number of bits and a computer-based method for placing the gauges over the structure allow increasing the resolution of the system and reducing the observed errors.
4.2 Free motion with singular postures
The second experiment starts moving the robot from the resting posture (see Figure 1) to the new final posture Pf2 (see Figure 9). Figure 10 depicts several intermediate postures with the robot assumed rigid and including the additional flexibility effects due to the gravitational forces on m2 and m3 (units in cm). Point-to-Point trajectories with trapezoidal velocity profiles were used from next joint coordinates with the same max velocity as in the previous experiment:

Second final robot posture Pf2.

Some rigid and flexible postures from P0 to Pf2.
If the second final posture Pf2 is considered, regardless to the movement of the fourth and fifth joint, it can clearly be seen that all postures correspond with singular robot points and the Jacobian matrix becomes not invertible(θ2=0). Then, for the final posture Pf2, the relation between tip forces and joint torques is given by:
Following a similar procedure as in the previous experiment, Figure 11 plots the measured torque γ2(t) versus the estimated torque γ2_Estimated(t) which is computed from equation (32) under the assumption that only gravitational forces act on the robot during the movement.

Torques γ2, γ3 during trajectory from P0 to Pf2.
From equations (41) and (36), the steady state final values of the joint torques are as follows:
For the second final robot posture, the tip forces have to be computed by using a pseudo-inverse matrix under the assumptions that the force f3x does not produce any structure torque and the traction on the tubular beams has been fully neglected in coefficients (12)–(24). Then, equation (33) becomes:
Again, computing the average values of the steady state final measured torques from the signals plotted in Figure 11 and substituting them into equation (43), yields:
The external tip forces were estimated again, being F3 T = (0 1.20 0.29) T N, showing a good correspondence between the measured and the estimated values. These errors are due to the low resolution of the AD converters used and they are less than 1/2n, n being the number of bits. Additionally, because of the singularity of the robot postures during the experiment, the average steady-state torque γ3 shown in Figure 11 is not involved in the computation of the tip force due to the last zero column of the pseudo-inverse matrix. A good correspondence is also observed between this value and the expected value achieved from expression (42).
4.3 Free motion with final object interaction
In this experiment, the robot starts its motion from the resting posture (Figure 1) to the final posture Pf3(see in Figure 12). Then, it returns to the resting posture after pressing an object. In this case the contact with the object produces a tip force which is coupled with the gravitational forces applied to the robot during the motion. The first three joint trajectories are generated from the following joint coordinates:

Final posture Pf3 when the robot interacts with a box.
Figure 13 depicts several intermediate postures during the free robot motion under the assumption that the robot is rigid and including the additional flexibility effects due to the gravitational forces on m2 and m3 (units in cm). It can clearly be seen how the flexible robot reaches the final posture before the rigid robot does because of these gravitational forces for the same joint coordinates. The plotted deflections have been intentionally exaggerated.

Some rigid and flexible postures from P0 to Pf3.
Once the robot (assumed flexible) has reached the real final posture, a contact force is applied on its tip. The robot is now pressing the box and Figure 14 represents how the robot flexion turns over the opposite sign compared to the flexion depicted in the same final posture (see Figure 13) when the robot was moving freely.

Rigid and flexible robot when pressing the box.
Finally, applying equation (32) again for the Pf3posture without external tip forces, the steady state final measured torque values computed are as follows:
Figures 15 and 16 illustrate the measured torques, γ2(t) and γ3(t), of this experiment versus the estimated values of the torques caused from the gravitational forces.

Torque γ2 during trajectory from P0 Pf3 P0 and the interaction with the box.

Torque γ3 during trajectory from P0-Pf3-P0 and the interaction with the box.
The time interval can also be seen while the robot is pressing the box (between t = 10 s and t = 20 s) and when estimation of the torques due to gravity does not match real torques. This difference between estimated and measured torques anticipates that some external forces are being applied on the tip and it can also be used as a contact/collision indicator (as in [21]).
By using equation (33), which requires the online computation of the torques due to gravity and the inverse of the Jacobian transpose as a function of its joint coordinates, let us obtain the applied forces. Figure 17 depicts the tip force component f3z obtained. Components f3x and f3y are not plotted due to their good match with noisy null values. The values of the external tip forces during the free movement of the robot are also plotted in Figure 17 (in red colour).

Tip force f3z during interaction with the box.
It is necessary to remark that the noise levels of these signals are typical from strain measurements when no low-pass filters are used. All the figures have been plotted with the values directly obtained from the AD converters and without any kind of filter. Once the system is calibrated, only easy algebraic operations and scaling matrix according to the equations presented above have been used to achieve the previous results.
5. Conclusions
A method to measure external forces applied on the tip of a climbing robot whose structure exhibits linear flexibility has been presented. The main advantage is the elimination of the usual force sensors placed between the wrists and tools in industrial robotics applications that require force or hybrid position/force controllers.
The placement of strain gauges along the structure allows us to measure deflections from the structure itself. The torques produced on the robot flexible structure are obtained from the strain gauges and the forces are computed. It is necessary to estimate gravity torques in order to discount them from the total measured torques if only external forces are required to be measured.
The use of strain gauges instead of force sensors has the following advantages: (a) the use of flexible elements can be exploited for lightening the links/legs that conform to different locomotion systems which make up climbing robots, and (b) the flexibility of the structure is used to measure the tips forces applied and only a set of strain gauges with electronic conditioners and AD converters is needed for acquisition. From these force measurements, the structure deflection itself is computed through the compliance matrix which is dependent on the joint angles.
Experimental results illustrate the robustness of the proposed method when only the gravitational forces act on a robot with flexibility that could be modelled as a lumped mass model and when it is working under difficult trajectories such as trajectories with kinematics singularities. When not only gravitational forces but external ones were applied on the robot tip, the proposed method let us obtain the forces as if it were a sensor.
Footnotes
6. Acknowledgments
Prof. Somolinos wishes to thank the faculty and staff of the Robotics Lab at the University Carlos III of Madrid for their excellent reception during his stay which allowed the realization of this work. It has been partially supported by Spanish Research Grant DPI2011-24113.
