This paper presents the complete inverse kinematic analysis of a novel redundant truss-climbing robot with 10 degrees of freedom. The robot is bipedal and has a hybrid serial-parallel architecture, where each leg consists of two parallel mechanisms connected in series. By separating the equation for inverse kinematics into two parts - with each part associated with a different leg - an analytic solution to the inverse kinematics is derived. In the obtained solution, all the joint coordinates are calculated in terms of four or five decision variables (depending on the desired orientation) whose values can be freely decided due to the redundancy of the robot. Next, the constrained inverse kinematic problem is also solved, which consists of finding the values of the decision variables that yield a desired position and orientation satisfying the joint limits. Taking the joint limits into consideration, it is shown that all the feasible solutions that yield a given desired position and orientation can be represented as 2D and 3D sets in the space of the decision variables. These sets provide a compact and complete solution to the inverse kinematics, with applications for motion planning.
During the last two decades, there has been increasing interest in using climbing robots to perform dangerous tasks on vertical structures. Working on tall structures is very dangerous for human operators, who are exposed to the risk of falling from height, among others. Examples of such tasks include the periodic cleaning and inspection of glass façades in tall buildings [1], the periodic inspection and maintenance of metallic bridges [2] and power transmission lines [3], the inspection of welded unions in the construction industry [4], and tree climbing for branch trimming or fumigation [5]. Other applications of climbing robots can be found in [6], which also presents a comprehensive review of their main locomotion methods and adhesion technologies.
Truss structures are a particular type of vertical structure present in constructions such as metallic bridges, airports, telecommunications towers and power transmission lines. To achieve the high degree of mobility needed to explore these structures, truss-climbing robots typically have two grippers connected through a kinematic chain with some degrees of freedom (DOF). The locomotion method of these robots consists of grasping the structure with one of the grippers and using the kinematic chain to place the other gripper in the following attachment point of the structure. Next, the free gripper is fixed to the structure, acting as the new supporting point, and the previously fixed gripper is released, becoming the free gripper. This cycle is repeated again, and the robot advances through the structure swapping the roles of the fixed and free grippers.
Truss-climbing robots can be classified into three types [7]: serial, parallel and hybrid. Serial climbing robots have larger workspaces than parallel ones, but they are less rigid and have a limited payload. For example, [4] and [7] present serial climbing robots with six and four DOF, respectively. Other serial architectures inspired by inch worms, with five and eight DOF, are presented in [8, 9]. Other authors propose inchworm-like robots driven by flexible actuators which can climb poles [10] or travel inside pipelines [11]. A modular climbing robot is presented in [12], whose number of DOF can be modified by adding new modules. Finally, [13] presents three-DOF robots that can individually explore trusses or can be combined with other robots to form more complex robots with higher manoeuvrability.
Parallel climbing robots have a higher payload-to-weight ratio than serial robots but their workspace is more limited. A Gough-Stewart platform for climbing truss structures, pipelines and palm trees is proposed in [5].
Finally, hybrid climbing robots are composed of some serially connected parallel mechanisms. Reference [14] presents a hybrid climbing robot that combines a 3-RPR parallel mechanism with a rotation module connected in series. Another 12-DOF hybrid robot is proposed in [15]. In this case, the robot is bipedal and each leg is the serial combination of two 3-RPS parallel robots.
As these examples show, many truss-climbing robots have been proposed, mainly with a serial architecture. Nevertheless, the features of hybrid architectures make them specially interesting for climbing truss structures. On the one hand, hybrid robots have the high manoeuvrability and large workspace of serial robots, which is beneficial for exploring complex 3D structures. On the other hand, they also have the high rigidity and load-to-weight ratio of parallel robots, which is useful for climbing robots since they must support their own weight [16].
Considering these benefits of hybrid architectures, a new truss-climbing hybrid robot has been designed. The robot, shown in Figure 1, has two legs which are composed of two parallel mechanisms connected in series. The design of its legs permits the robot to easily execute the movements necessary to explore 3D trusses, such as convex and concave transitions between different planes, transitions between beams with different orientations, and the negotiation of obstacles. The robot has 10 DOF between the feet (grippers), which makes it redundant.
This paper is focused on the inverse kinematic analysis of this robot, which is a prerequisite for planning trajectories. When the robot has one gripper attached to the structure, we must calculate the values of the joint coordinates that yield a desired position and orientation for the other gripper, e.g., to grasp the structure or to perform some manipulation tasks. The inverse kinematics of redundant robots has infinitely many solutions: there are infinitely many different values of the joint coordinates that yield the same position and orientation. In this paper, all these solutions are obtained in closed form for the studied robot.
First, instead of considering the joint coordinates of the parallel mechanisms as the unknowns of the inverse kinematics problem (which are the actual controlled variables), some intermediate joint coordinates are defined to facilitate the analysis. This is equivalent to working only with the serial structure of the hybrid robot, ignoring the parallel mechanisms. Next, the equation of the inverse kinematics is split into two parts, each part depending on the kinematic variables of a different leg. This “decoupling” of the legs yields simple equations from which the intermediate joint coordinates can be analytically solved in terms of four or five (depending on the desired orientation) decision variables, whose values can be freely decided due to the redundancy of the robot.
After solving the general inverse kinematics problem, the constrained problem that considers the joint limits is analysed. This problem consists of determining which values of the decision variables yield solutions that satisfy the joint limits. Noting that two of the decision variables are not crucial - since they do not affect the overall posture of the robot - an algorithm is proposed to compute all the feasible combinations of the remaining decision variables that permit the robot to reach a desired position and orientation satisfying the joint limits. These combinations constitute 2D or 3D compact sets (areas or volumes) that provide intuitive and complete representations of all the solutions to the inverse kinematics of the proposed robot.
This paper is organized as follows. The proposed robot is described in Section 2. Next, the workspace of the parallel mechanisms is analysed in Section 3. Section 4 presents the solution to the inverse kinematics of the complete robot. Next, Section 5 analyses the constrained problem and presents an algorithm that computes the 2D and 3D sets that represent all the solutions that satisfy the joint limits. Section 6 presents some numeric examples that validate the previous analyses, using the proposed algorithm to find all the feasible solutions that permit the robot to reach typical configurations needed to explore 3D structures. Finally, conclusions are presented in Section 7.
Robot design
Figure 1 shows a CAD model of the proposed climbing robot. The robot has two legs A and B and a hip H. Each leg j ∊ {A,B} has a core link Cj and two U-shaped platforms P1j and P2j. Each platform is connected to the core link through two linear actuators placed in parallel and a passive slider, constituting a two-DOF parallel mechanism.
Thus, the robot is hybrid because each leg is the serial combination of two parallel mechanisms.
The platforms P1A and P1B are the feet and carry the grippers (which are not considered in the analysis presented in this paper). The platforms P1A and P2B are connected to the hip through the revolute joints θA and θB.
CAD model of the proposed hybrid climbing robot
Figure 1 also shows four coordinate frames attached to different links of the robot. The X, Y and Z axes of the coordinate frames are indicated in red, green and blue, respectively. The coordinate frames HA and HB are attached to the hip (although they are physically out of the hip). The coordinate frames EA and EB are attached to the feet A and B, respectively. The origins of the coordinate frames Hj and Ej lie in the middle plane of the leg j, as indicated in Figure 1 (right).
The kinematic chain between the feet of the robot has 10 DOF: the lengths of the eight linear actuators of the legs and the two rotations of the hip. Hence, the robot is redundant because six DOF are sufficient to position and orient one foot with respect to the other. Actually, it has been shown that a climbing robot needs only four DOF to explore 3D structures [7, 14]. Thus, the proposed robot has six redundant DOF to perform this task. It is important to note that this redundancy was not a design criterion to be fulfilled when designing the robot, but rather a consequence of the proposed serial-parallel architecture, which facilitates the execution of the most typical movements necessary to explore 3D structures.
Kinematic redundancy offers some advantages for climbing 3D structures. A higher number of DOF allows a robot to travel from one point of the structure to another using fewer and simpler movements than another robot with fewer DOF [16]. Moreover, the kinematic redundancy can be exploited to execute other secondary tasks in addition to the primary task of exploring the structure. For example, the redundancy can be used to avoid the singularities that hinder the movements of climbing robots [17], or to avoid joint limits and obstacles present in the workspace of the robot (e.g., other beams of the explored structure). The redundancy can also be used to minimize the torques in the actuators or the energy consumption of the robot, which is useful to increase the autonomy of climbing robots powered by batteries [4]. Furthermore, a kinematically redundant design allows for the use of closed-loop techniques to calibrate the robot [18] which avoid the measurement of the relative pose between the feet of the robot. Robot calibration is necessary to increase the precision of climbing robots and guarantee that they can properly grasp the structure [19]. Other advantages of kinematic redundancy can be found in [20].
Workspace of the parallel mechanisms
This section analyses the inverse kinematics and the workspace of the parallel mechanisms that comprise the legs of the climbing robot. Figure 2 shows the i -th parallel mechanism of the leg j (i ∊ {1,2}, j ∊ {A,B}), which is composed of a core link Cj and a U-shaped platform Pij. A passive slider constrains the motion of the platform, which can only translate along the core link and rotate. The position yij and orientation φij of the platform can be controlled through two linear actuators with lengths uij and vij. In the proposed design, the linear actuators of each parallel mechanism lie on opposite sides of the core link.
The two-DOF planar parallel mechanisms that form the legs of the climbing robot
This parallel mechanism has been studied in the past. For example, [21] proposed using this mechanism as a high-stiffness joint for articulated robots. Later, an in-depth analysis of the forward kinematics of a more general version of this mechanism was presented in [22]. In the present paper, we are more interested in the inverse kinematics and workspace analysis of this parallel mechanism. The inverse kinematics consists of calculating the values of the joint coordinates uij and vij that yield a desired position yij and orientation φij. The solution to this problem can be easily obtained analysing Figure 2:
In practice, the joint coordinates have limits: both uij and vij must be in [ρ0,ρ0 + Δρ], where ρ0 > 0 is the minimum length of the linear actuators and Δρ > 0 is the stroke. Thus, the workspace of this parallel mechanism can be defined as the set of pairs (φij,yij) for which the right-hand side of both Eqs. (1) and (2) is between ρ0 and ρ0 + Δρ.
For example, Figure 3 shows the workspace of this parallel mechanism for the following parameters: b = p = 4 cm, ρ0 = 19 cm and Δρ = 6 cm, which are the parameters of the CAD design of Figures 1 and 2. For this geometry, the workspace is divided into four diamond-shaped regions R1, R2, R3 and R4, which are enclosed by the curves in which the joint coordinates equal ρ0 or ρ0 + Δρ.
Workspace of the parallel mechanism
Any point of these four regions satisfies the joint limits. However, not all the points are feasible configurations. Figure 4 shows typical configurations of the mechanism in each region. Note that the configurations of the regions R2, R3 and R4 are incompatible with the proposed design because of mechanical interference between the linear actuators and the passive slider or the platform of the mechanism. Moreover, the configurations in R3 and R4 (where yij < 0) invade the operational area of the other platform of the same leg. Thus, in practice, the workspace is reduced to the region R1 in which the linear actuators remain almost parallel. In that case, the workspace can be defined as follows,
where and are the lower and upper bounds of the variable yij for φij = φ∗, respectively (see Figure 3). In the following, it will be assumed that the valid combinations of the variables φij and yij of the parallel mechanisms lie in regions defined by Eq. (3). Note that although Eq. (3) has been introduced using the example region R1 of Figure 3, it defines a more general region in ℝ2. In particular, Eq. (3) will still be a valid definition of the feasible workspace of the parallel mechanisms if the geometric parameters are perturbed from the values used inthe example, provided that these perturbations are sufficiently small.
Configuration of the parallel mechanism in different regions of the workspace
Inverse kinematics of the climbing robot
This section presents the solution to the inverse kinematics problem of the complete climbing robot, which is necessary for planning the movements of the robot. This problem consists of computing the values of the 10 joint coordinates [u1A,v1A,u2A,v2A,u1B,v1B,u2B,v2B,θA,θB} necessary to achieve a desired relative position and orientation between the feet of the robot.
Instead of calculating the lengths of the linear actuators of the parallel mechanisms (variables uij and pij), it will be more convenient to consider the following variables as the unknowns, which will be called the intermediate joint coordinates: {φ1A,φ2A,φ1B,φ2B,y1A,yA,y1B,yB,θA,θB}. As shown in the previous section, most of these variables are the positions and orientations of the platforms of the parallel mechanisms. The new variables yA and yB are defined as follows,
where h > 0 is a geometric parameter of the core links of the legs (see Figure 5). The variable yj can be seen as the length of the leg j. Note that for the inverse kinematics, working with the intermediate joint coordinates, is equivalent to working with the joint coordinates. Indeed, if we can calculate the intermediate joint coordinates we can use Eq. (4) to compute y2j. Next, the positions and orientations {yij,φij} are known for all the parallel mechanisms. Using the solutions to the inverse kinematics of the parallel mechanisms [Eqs. (1) and (2)], we can compute {uij,vij} from {yij,φij}, obtaining a unique solution.
Obtaining the equations of the inverse kinematics
First, it is necessary to obtain the equations that relate the intermediate joint coordinates and the relative position and orientation between the feet. These equations will be obtained using homogeneous transformation matrices. In this paper, Tm/n will denote the homogeneous transformation matrix that encodes the position and orientation of a given coordinate frame m with respect to another coordinate frame n.
Consider a generic leg j ∊ {A,B}, represented in Figure 5. This figure also shows three coordinate frames Ej, Fj and Gj, which are attached to the platform P1j, the core link Cj and the platform P2j, respectively (the frames Ej are the same as in Figure 1). The XY planes of all these coordinate frames coincide with the middle plane of the leg (see Figure 1).
According to Figure 5, the position and orientation of the coordinate frame Fj with respect to the frame Ej can be written as follows:
Kinematics of a generic
Similarly, the position and orientation of the frame Gj relative to the frame Fj can be written as follows:
Finally, the position and orientation of the frame Hj (which is attached to the hip as shown in Figure 1) relative to the frame Gj is,
where θj is the angle that the frame Gj must be rotated about its Y axis to align the axes of the coordinate frames Gj and Hj. The position and orientation of the hip relative to the foot j can be obtained multiplying the previous three matrices:
The matrix THj/Ej has the following expression,
where yj is defined in Eq. (4) and the following variables have been used to abbreviate the trigonometric functions: , , , , , .
Particularizing the matrix THj/Ej for the two legs (j = A and j = B), the relative position and orientation between the frames attached to the feet can be obtained performing the following product,
where and is the matrix that encodes the position and orientation of the frame HB with respect to the frame HA,
which is constant because both coordinate frames are attached to the same link (the hip). t > 0 is the distance between the parallel rotation axes of the hip (see Figure 1).
Equation (10) provides the solution to the forward kinematics of the complete robot. If the 10 joint coordinates are known, the solution to the forward kinematics of the parallel mechanisms (which can be found in [21, 22]) yields the values of the intermediate joint coordinates. Substituting the intermediate joint coordinates into Eq. (10) gives the matrix TEB/EA, which encodes the relative position and orientation between the feet of the robot.
The inverse problem is necessary to plan the movements of the robot: finding the values of the intermediate joint coordinates necessary to achieve a desired position and orientation TEB/EA. This problem is addressed next.
Solution to the inverse kinematics
In this section, we will calculate the values of the 10 intermediate joint coordinates necessary to reach a desired position and orientation between the feet of the robot. Without loss of generality, it will be assumed that the input to the inverse kinematics is the matrix TEB/EA, which encodes the position and orientation of the foot B relative to the foot A. If the input is TEA/EB, one only needs to invert this matrix to obtain TEB/EA, which can be directly used in the equations that will be derived in this section. It will be assumed that the input matrix has the following form:
Inserting the previous matrix into Eq. (10) yields a system of equations from which the intermediate joint coordinates, which appear on the right-hand side of Eq. (10), must be solved. Trying to solve Eq. (10) directly can be difficult because all the unknowns are coupled on its right-hand side, and the resulting equations are quite large and difficult to handle. However, if Eq. (10) is post-multiplied by , it becomes:
Thus, the problem becomes easier, since the unknowns associated with each leg have been decoupled and appear on different sides of the equation. Indeed, the matrix on the left-hand side of Eq. (13) only depends on the variables of the leg B{yB,φ1B,φ2B,θB}, whereas the right-hand side only depends on the variables of the leg A{yA,φ1A,φ2A,θA}. In what follows, the left-hand side of Eq. (13) will be denoted by B, whereas the right-hand side will be denoted by A. The expressions of these matrices, which involve much simpler terms than the right-hand side of Eq. (10), can be found in Eqs. (14) and (15).
To solve the inverse kinematics, we must solve the equations that are obtained when all the elements of the matrix A are equated to the respective elements of the matrix B. Equating the elements (1,4), (2,4) and (3,4) of both matrices yields the following equations:
Equating the elements (1,2), (2,2), (3,1), (3,3) and (3,2) gives the following equations:
It can be shown (see Appendix A) that, if Eqs. (19) to (23) are satisfied, the elements (1,1), (1,3), (2,1) and (2,3) of A and B are equal. Hence, the equations that are obtained equating these elements of both matrices must not be included since they depend on Eqs. (19) to (23), and we only need to solve Eqs. (16) to (23). These equations are solved next, distinguishing two cases.
Case 1: (r31, r32)≠(0,0)
In this case, r312 + r322 ≠ 0 and Eq. (23) can be solved together with the condition sB2 + cB2 = 1, obtaining two solutions for sB and cB,
where σ1 ∊ {−1,1}. Since sB and cB are known, the difference φ1B − φ2B can be calculated as follows:
where atan2 is the well-known inverse tangent function that considers the signs of the sine and the cosine and computes the angle in the correct quadrant. Equation (26) gives φ2B in terms of φ1B. After calculating sB and cB, sA and cA are calculated from Eqs. (19) and (20), respectively. Next, the difference φ1A − φ2A is obtained as follows,
which provides φ2A in terms of φ1A. Once sA and cA are known, Eqs. (16) to (18) constitute a system of three equations with five unknowns: {φ1B,φ1A,yB,yA,θA}. Hence, three unknowns must be solved in terms of the other two, which must be assumed to be known. From the form of these equations, it is evident that the solution is straightforward if yB and φ1B are chosen as the known variables, since in this case the right-hand side of the equations is known. Particularly, Eq. (18) yields sinθA:
Note that the right-hand side of Eq. (28) must be in [−1,1] in order to obtain a real value for θA. Knowing the value of sθA, two solutions are obtained for cosθA,
where σ2 ∊ {−1,1}. Once sθA and cθA are known, sθB and cθB are calculated inverting Eqs. (21) and (22), which can always be inverted (see Appendix B). The solution for sθB and cθB is:
As such, θA and θB are obtained as follows:
After cθA has been calculated, Eqs. (16) and (17) can be rewritten as follows,
where the terms Ωx and Ωy, on the right-hand side of the equations, are known quantities:
Squaring Eqs. (33) and (34) and adding them together eliminates φ1A and yields the following solution for yA:
After calculating yA, φ1A is obtained as follows,
which is valid only if yA ≠ 0. Note, however, that the case yA ≤ 0 will be impossible in practice due to mechanical interference between different links of the leg A. Hence, we will be interested only in strictly positive solutions of yA, given by the positive sign in Eq. (37). In that case, yA can be removed from Eq. (38) because an angle is not affected if its sine and cosine are multiplied by the same positive constant (whereas multiplying them by a negative constant is equivalent to adding π rad to the angle). Hence, φ1A can be directly obtained as follows:
With the obtained value of φ1A, φ2A is calculated using Eq. (27). Finally, φ2B is calculated from φ1B (which is assumed to be known) using Eq. (26).
Note that the variables y1A and y1B remain undetermined after solving all the equations. Hence, the values of these intermediate joint coordinates must also be fixed in order to complete the solution to the inverse kinematics. Assuming that the values of these variables are known, the solution to the inverse kinematics can be summarized as follows,
where the symbol f1 indicates that the variables on the left-hand side of Eq. (40) are obtained from {φ1B,yB}, as described in this section.
Case 2: r31=r32=0
Since r312 + r322 + r332 = 1, the condition r31 = r32 = 0 is equivalent to r332 = 1, which means that the Z axes of the coordinate frames attached to the feet are parallel. This situation appears in many simple movements of the robot when exploring a structure, such as in concave and convex transitions between different planes (see Section 6).
This case admits a similar analysis to the previous one: some unknowns must be solved in terms of the others and, in particular, we can choose to solve all the unknowns in terms of the variables φ1B and yB to deal with simpler equations. However, since r31 = r32 = 0, a restriction is lost because Eq. (23) is identically satisfied. Thus, the difference φ1B − φ2B is no longer fixed and can adopt any value, which means that the value of the variable φ2B must also be decided. Except for this difference, the resolution procedure is exactly as described in the previous section: we fix the values of {yB,φ1B,φ2B}, compute sB = sin(φ1B − φ2B) and cB = cos(φ1B − φ2B), and use Eqs. (27) to (39) to calculate the rest of the variables.
As in Case 1, the values of the variables y1A and y1B must be fixed since they remain undetermined after solving the equations. Thus, in this case, the solution to the inverse kinematics can be summarized as follows,
where the symbol f2 indicates that the variables on the left-hand side of Eq. (41) are obtained from {φ1B,φ2B,yB}, as described in this section.
Geometric interpretation: self-motion sets
For non-redundant robots, the solution to the inverse kinematics for a desired position and orientation is a set of isolated points in the space of the joint coordinates (the joint space). However, for redundant robots, the values of the joint coordinates that permit the robot to reach a desired position and orientation lie in positive-dimensional sets (curves, surfaces, etc.) in the joint space. These sets are called self-motion sets because varying the joint coordinates along them modifies the posture of the robot without affecting the position and orientation of its end-effector, which remains motionless [23, 24].
For this robot, the solutions to the inverse kinematics can be interpreted as self-motion sets in the 10D space of the intermediate joint coordinates. In Case 1, the solutions lie in a 4D set because the solution is parameterized in terms of four parameters, and Eq. (40) provides a possible parametrization of the self-motion set. In Case 2, the dimension of the self-motion set is five, since five parameters must be fixed in order to determine all the intermediate joint coordinates. In this case, a possible parametrization of the self-motion set is given by Eq. (41).
Note that Eqs. (40) and (41) are not the only valid parametrizations of the self-motion sets. There are many other parametrizations, depending on the redundant variables that are assumed to be known when solving the equations for the inverse kinematics. For example, instead of choosing {yB,φ1B}, we could have chosen {φ1A,φ1B} or {yA,yB} as the known variables to solve three unknowns from Eqs. (16) to (18). In these cases, however, it is evident that the solution to the equations is not as straightforward as when {yB,φ1B} are chosen as the known variables.
Although the self-motion sets encode all the information regarding the solution to the inverse kinematics of redundant robots, the self-motion sets obtained for this robot are not practical due to their high dimensionality. In the next section, we propose a more useful representation of the solutions to the inverse kinematics of the studied climbing robot.
Inverse kinematics: Regions of feasible solutions
In the previous section, it was shown that the solution to the inverse kinematics can be written in terms of some free parameters or decision variables whose values must be decided: {φ1B,yB,y1A,y1B} (and also φ2B, in Case 2). This section discusses how to choose appropriate values for these decision variables.
First, note that the chosen values should satisfy the joint limits of the parallel mechanisms. As shown in Section 3, these joint limits impose restrictions on the variables (φij,yij) of the parallel mechanisms. In this regard, it will be assumed that the valid pairs (φij,yij) of each parallel mechanism belong to a region of the form of Eq. (3).
Taking the joint limits into consideration, the best representation of the solutions to the inverse kinematics of this robot would be the combinations of the decision variables {φ1B,yB,y1A,y1B} (and also φ2B, in Case 2) that yield a desired position and orientation between the feet while satisfying the joint limits of the parallel mechanisms. This representation would consist of the regions of feasible combinations of these variables in a 4D or 5D space. However, as is shown next, it is possible to encode the most relevant information of these feasible regions using only two or three dimensions.
Note that the posture of the robot is not affected by all the decision variables equally. According to Eqs. (40) and (41), fixing all the decision variables except {y1A,y1B} fixes the remaining intermediate joint coordinates which determine the posture of the robot. Once yj has been fixed, varying y1j only modifies the position of the core link Cj along the leg j, without affecting the posture of the robot. This is because a variation in y1j will be compensated by the opposite variation in the variable y2j to conserve the value of yj, which has already been fixed (see Figure 5).
Since the variables {y1A, y1B} do not affect the overall posture of the robot (except for the position of the core links along the legs), their concrete values are not important as long as they satisfy the joint limits of the parallel mechanisms. Thus, it suffices to focus only on the decision variables {φ1B,φ2B,yB}, which determine the overall posture of the robot and are important for planning its movements (e.g., for choosing the postures that yield a desired position and orientation avoiding some obstacles).
For Case 1, we are interested in the regions (areas) Rf of the (φ1B,yB) plane for which we can find values for the other decision variables (y1A and y1B) that permit the robot to reach a desired position and orientation satisfying the joint limits. A discrete approximation of these areas can be obtained using Algorithm 1. This algorithm picks Np random points in the (φ1B,yB) plane, computes the intermediate joint coordinates {yA,φ1A,φ2A,φ2B,θA,θB} for each point using the equations of Section 4.3, and discards all the points for which the intermediate joint coordinates do not satisfy the joint limits of the parallel mechanisms. According to Section 3, it is necessary that the angles {φ1B,φ2B,φ1A,φ2A} be in [φmin,φmax] for a point to satisfy the joint limits. Moreover, yj (j ∊ {A,B}) must be in , where the bounds and are calculated using Eq. (4) and the bounds of the variables y1j and y2j, which depend on φ1j and φ2j, respectively.
Algorithm to compute the set Rf of feasible solutions to the inverse kinematics which satisfy the joint limits of the parallel mechanisms.
For Case 2, we are interested in the regions (volumes) Rf of the (φ1B,φ2B,yB) space for which we can find values of the decision variables {y1A,y1B} that permit the robot to reach a desired position and orientation satisfying the joint limits. Algorithm 1 can also be used to compute a discrete approximation of these volumes. The only difference is in Line 4 of the algorithm: instead of calculating φ2B from Eq. (26), the value of φ2B must be sampled uniformly on [φmin,φmax] because φ2B cannot be calculated in terms of φ1B in Case 2. Moreover, the points that are stored in Rf at Line 17 have three coordinates instead of two: (φ1B,φ2B,yB).
Note that the solution to the inverse kinematics in Case 1 involves two binary variables σ1,σ2 ∊ {−1,1}. The solution in Case 2 involves only the binary variable σ2. Thus, the regions Rf computed by Algorithm 1 will be different for different choices of these binary variables. In both Cases 1 and 2, it is necessary to execute the algorithm for all the combinations of the binary variables to avoid missing feasible solutions to the inverse kinematics.
All the points calculated by Algorithm 1 guarantee the existence of values for the decision variables y1A and y1B that satisfy the joint limits, as demonstrated in the next subsection 5.1.
As an alternative to the numerical algorithm presented in this section, one might try to compute the regions Rf or redundant solutions analytically. To obtain analytic representations of these regions, it suffices to obtain analytically the curves (or surfaces, in Case 2) that enclose these regions. This can be done solving Eqs. (27) to (39) to find analytic expressions of all the intermediate joint coordinates in terms of φ1B and yB (and also φ2B, in Case 2). Next, equating each intermediate joint coordinate to either its upper or lower limit yields an equation that defines a curve in the (φ1B, yB) plane or a surface in the (φ1B,φ2B,yB) space, and these curves/surfaces constitute the limits of the regions Rf. Note that the lower and upper limits of φij are constants, φmin and φmax, respectively. However, according to Algorithm 1, the bounds of yj depend on φij, which, in turn, must be written in terms of {φ1B,φ2B,yB}.
Unfortunately, obtaining analytically all the intermediate joint coordinates and the bounds of yj in terms of {φ1B,φ2B,yB} can be very difficult or even not feasible - even using computer algebra systems - due to the large size and complexity of the analytic expressions that must be handled in the calculations. For instance, Figure 7 shows an example of the region Rf computed using Algorithm 1, and it also shows some of the curves that delimit this region. Only the boundaries that could be obtained analytically are shown; the analytic expressions of the remaining boundaries of Rf could not be obtained due to the complexity and large size of the terms involved in their calculation. Thus, for this robot, an analytic approach to compute the sets of redundant solutions for the inverse kinematics is intractable, and a numerical algorithm like the one proposed in this section stands as the best choice.
Choosing the values of y1A and y1B
The regions Rf of the feasible solutions computed by Algorithm 1 only reflect the valid combinations of the variables φ1B and yB (and φ2B, in Case 2). However, the values of the variables y1A and y1B must also be decided in order to complete the solution for the inverse kinematics.
As discussed in the previous section, since the variables {y1A,y1B} do not affect the posture of the robot once {yA,yB} are fixed, their values are not crucial as long as they satisfy the joint limits. Next, it will be shown that, for every point in Rf, we can always find non-empty intervals for the variables y1A and y1B that satisfy the joint limits of the parallel mechanisms. This will be demonstrated for a generic variable y1j (j ∊ {A,B}).
According to Eq. (3), for a given φ1j ∊ [φmin,φmax] y1j must be in . Additionally, y1j must also satisfy Eq. (4):
Similarly, for a given φ2j ∊ [φmin,φmax], y2j must satisfy:
Combining the conditions given in Eqs. (42) and (43) yields the following additional bounds for y1j:
Hence, the valid values of y1j lie in the intersection of the two intervals and . Denoting the limits of these intervals by and , their intersection will be empty if, and only if, [25]:
Next, applying De Morgan's laws to the previous condition, the intersection I1 ∩ I2 will be non-empty if, and only if:
where it has been considered that , which is guaranteed by Algorithm 1. Next, we check the second condition of Eq. (46),
where it has been considered that , which is also guaranteed by Algorithm 1. Thus, it is guaranteed that, for every point of the sets Rf computed by the proposed algorithm, we can always find ranges of the variables y1A and y1B that satisfy the joint limits of the parallel mechanisms.
Examples
This section presents some examples of the application of Algorithm 1 to obtain the region Rf of the valid solutions to the inverse kinematics. Algorithm 1 was implemented in MATLAB R2011b and the examples were tested on a laptop Acer Travelmate 5720, with an Intel(R) Core(TM)2 Duo T7300 CPU @ 2 GHz, 2 GB of RAM, and a 32-bit Operating System (Windows 7 Professional).
For the geometric parameters of the parallel mechanisms {b,p,ρ0,Δρ}, the values indicated in Section 3 were used. For the parameters {h,t}, the following values were used: h = 16 cm and t = 15.6 cm, which correspond to the design shown in Figure 1.
Example 1. It is assumed that the foot A is fixed, and the following position and orientation are desired for the foot B:
This example is represented in Figure 6a. Since (r31,r32)≠(0,0), two binary variables σ1,σ2 ∊ {−1,1} are involved in the calculation of the intermediate joint coordinates, as explained in Section 4.3. Hence, in order to obtain all the feasible solutions, Algorithm 1 must be executed four times, once for each combination of these binary variables. The set Rf of feasible solutions depends on the choice of the binary variables.
For this example, Algorithm 1 was run using Np = 104 and Np = 5 ⋅ 104 random points. In the first case, the average time of execution of the algorithm was 0.455 s, with a standard deviation (SD) of 0.022 s. For Np = 5 ⋅ 104, the average execution time was 2.35 s, with an SD of 0.12 s. In each case, 20 experiments were performed.
In both cases, these are the times necessary to run the algorithm four times, once for each combination of σ1 and σ2. The only combination of σ1 and σ2 that yields a non-empty set of feasible solutions for this example is σ1 = σ2 = − 1. The set Rf corresponding to this combination is shown in Figure 7. Figure 7 represents only the solution obtained for N = 5 ⋅ 104 since the density of the points is higher, providing a better approximation of the shape of the region of feasible solutions.
Desired position and orientation in Example 1
Discrete approximation of the set Rf of feasible solutions to the inverse kinematics in Example 1 for Np=5⋅104 points
As shown in the previous section, any point of the region Rf guarantees the existence of ranges for y1A and y1B that allow the robot to reach the position and orientation of Eq. (49), satisfying the joint limits of the parallel mechanisms. For example, the point P1 = (0.2,27.75) indicated in Figure 7 yields θA = −2.51 rad and θB = −0.94 rad. For this point, the valid ranges of y1A and y1B are [20.21,20.31] cm and 121.79,21.80] cm, respectively (the values are rounded to two decimal places). These ranges are very narrow because P1 is close to the boundary of Rf. Choosing y1A=20.21 cm and y1B = 21.79 cm gives the following values for the joint coordinates of the parallel mechanisms,
where the values are in cm and rounded to two decimal places. Note that some lengths are close to the joint limits (19 and 25 cm), which agrees with the fact that P1 is close to the boundary of Rf. This solution yields the posture shown in Figure 6b.
Example 2. In this example, the foot A is fixed and the foot B must reach the following position and orientation to perform a concave transition between two planes (see Figure 8):
According to Section 4.4, since r31 = r32 = 0, only the binary variable σ2 is involved in the calculation of the intermediate joint coordinates. Thus, Algorithm 1 must be executed twice to obtain all the feasible solutions, once for each value of σ2 ∊ {−1,1}.
For this example, Algorithm 1 was run for Np = 104 and Np = 5 ⋅ 104 random points, obtaining the following average execution times: 1.04 s (SD =0.05 s) and 5.19 s (SD = 0.24 s) (20 experiments were performed in both cases). These are the times necessary to run the algorithm twice (once for each value of σ2) in order to find all the feasible solutions.
In this example, only σ2 = −1 yields a non-empty set of feasible solutions, which is shown in Figure 9. The set represented in Figure 9 is the one obtained for Np = 5 ⋅ 104 points, which provides a better approximation of the solution set. The projections of the solution set onto the coordinate planes have also been represented, so that its 3D shape can be observed more easily.
Desired position and orientation in Example 2, where the robot performs a concave transition between two planes
For example, choosing the point P2=(0,0.8,26), which is represented in Figure 9 (along with its projections onto the coordinate planes), yields the following ranges for y1A and y1B: [20.80,22.84] cm and [19.90,20.16] cm, respectively. Choosing y1A = 21 cm and y1B = 20 cm yields the following joint coordinates (values in cm),
where some joint coordinates are close to the joint limits because the range of valid values of y1B for the chosen point P2 is very narrow. This solution yields the posture shown in Figure 8b. For this example, the rotations of the hip are: θA = θB = π rad. Note that the rotations of the hip do not depend on the decision variables when r31 = r32 = 0, as can be observed in Eqs. (28) to (31).
Figure 9. Set Rf of feasible solutions for the inverse kinematics in Example 2, for Np = 5⋅104 points
Example 3. In this case, the foot B is fixed and the foot A must reach the following position and orientation to perform a convex transition between two planes (see Figure 10),
where the position is given in cm. The matrix TA/B must be inverted to obtain TB/A, which is the input to the inverse kinematic problem as formulated in Section 4.2.
As in Example 2, since r31 = r32 = 0, Algorithm 1 must be run twice. In this example, the algorithm was also tested for Np = 104 and Np = 5⋅104 random points, obtaining the following average execution times for 20 experiments in each case: 0.919 s (SD = 0.003 s) and 4.47 s (SD = 0.20 s), respectively. Again, these are the times necessary to run the algorithm twice: for σ2 = −1 and σ2 = 1. In this example, only σ2 = l yields a non-empty set of feasible solutions, which is shown in Figure 11 for Np = 5 ⋅ 104 points. As in the previous example, the projections of the solution set onto the coordinate planes are also shown to facilitate the 3D visualization of the shape of Rf.
Desired position and orientation in Example 3, where the robot performs a convex transition between two planes
Set Rf of feasible solutions for the inverse kinematics in Example 3, for Np=5⋅104 points
For example, choosing the point P3 = (−0.8, −0.2, 26), shown in Figure 11, yields the following ranges for y1A and y1B: [21.78,22.16] cm and [21.84,22.10] cm, respectively. Choosing y1A = y1B = 22 cm gives the following lengths,
where the values are in cm. For this solution, the robot has the posture shown in Figure 10b. For this example, the rotations of the hip are: θA = θB = 0 (independently of the decision variables because r31 = r32 = 0).
Conclusions and future work
This paper has presented the inverse kinematics analysis of a new hybrid truss-climbing robot. Despite the large number of DOF of the robot and its hybrid architecture, it has been possible to obtain an analytic solution to the inverse kinematics by decoupling the inverse kinematics equation into two parts that depend on the kinematics variables of different legs. In the obtained solution, the intermediate joint coordinates are calculated in closed form in terms of four or five decision variables whose values can be freely decided due to the redundancy of the robot.
The constrained problem, which consists of finding the feasible values of the decision variables that yield solutions that satisfy the joint limits, has also been solved. In this case, an algorithm to find these feasible values of the decision variables has been presented. The outcome of the presented algorithm consists of 2D or 3D regions that contain all the postures of the robot that yield a desired position and orientation. Although the execution time of the algorithm is not low enough for use in real-time control, it is suitable for trajectory planning, especially considering that the algorithm computes all the possibilities to reach a desired position and orientation.
The presented analysis is also useful to optimize the design of the robot. For example, the geometric parameters can be adjusted to obtain a larger region Rf of solutions for the most typical movements needed when exploring a 3D structure, such as concave or convex transitions, or the negotiation of structural nodes and other obstacles. This will be used in the optimal design of the prototype of the robot that is being developed to explore real structures.
In future, we will also study the selection of one solution for the inverse kinematics among all the redundant solutions contained in the calculated sets Rf. The best method to choose a solution consists of defining a merit function (e.g., the torques necessary to keep the robot attached to a beam) and finding which point of Rf optimizes this merit function (e.g., which posture of the robot minimizes these torques). An advantage of the proposed Algorithm 1 is that the merit function to be optimized can be tested in all the points of Rf at the same time as these points are randomly generated. Thus, after finishing the calculation of Rf, the algorithm would provide the optimal solution.
Finally, the solution to the inverse kinematics developed in this paper will be used in the future to compute and study the workspace of the robot as well as the distribution of singularities in the workspace. Note that a point (position and orientation) belongs to the workspace of the robot only if that point is reachable, i.e., if the set Rf of solutions for the inverse kinematics for that point is non-empty.
Footnotes
8.
This work was supported by the Spanish Ministry of Education, Culture and Sport through grant No. FPU13/00413, and by the Spanish Ministry of Economy and Competitiveness through project No. DPI2013-41557-P.
Appendix: Some demonstrations
References
1.
LiangR.AltafM.AhmadE.LiuR., and WangK.A Low-cost, Light-weight Climbing Robot for Inspection of Class Curtains. Int J Adv Robot Syst, 11:106, 2014.
2.
PaganoD.LiuD., and WaldronK.A Method for Optimal Design of an Inch worm Climbing Robot. In Proceedings of the 2012 IEEE International Conference on Robotics and Biomimetics, pages 1293–1298. IEEE, 11–14 December 2012, 2012.
3.
GongalvesR. S. and CarvalhoJ. C. M.Review and Latest Trends in Mobile Robots Used on Power Transmission Lines. Int J Adv Robot Syst, 10:408, 2013.
4.
BalaguerC.GiménezA.PastorJ. M.PadrónV. M., and AbderrahimM.A climbing autonomous robot for inspection applications in 3D complex environments. Robotica, 18(3):287–297, 2000.
5.
AracilR.SaltarenR. J., and ReinosoO.A climbing parallel robot: a robot to climb along tubular and metallic structures. IEEE Robotics & Automation Magazine, 13(1):16–22, 2006.
6.
SchmidtD. and BernsK.Climbing robots for maintenance and inspections of vertical structures -A survey of design aspects and technologies. Robotics and Autonomous Systems, 61(12):1288–1305, 2013.
7.
TavakoliM.MarquesL., and De AlmeidaA. T.3DCLIMBER: Climbing and manipulation over 3D structures. Mechatronics, 21(1):48–62, 2011.
8.
GuanY.JiangL.ZhuH.ZhouX.CaiC.WuW.LiZ.ZhangH., and ZhangX.Climbot: A modular bio-inspired biped climbing robot. In Proceedings of the 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 1473–1478. IEEE, 25–30 September 2011, 2011.
9.
ShvalbN.MosheB. B., and MedinaO.A real-time motion planning algorithm for a hyper-redundant set of mechanisms. Robotica, 31(8):1327–1335, 2013.
10.
BertettoA. Manuello and RuggiuM.Pole Climbing Pneumatic Robot. In Proceedings of the Fifth JFPS International Symposium on Fluid Power, pages 43–48, 12–15 November 2002, 2002.
11.
BertettoA. Manuello and RuggiuM.Low Cost Pipe-crawling Pneumatic Robot. Journal of Robotics and Mechatronics, 14(4):400–407, 2002.
12.
MampelJ.GerlachK.SchillingC., and WitteH.A modular robot climbing on pipe-like structures. In Proceedings of the 4th International Conference on Autonomous Robots and Agents, pages 87–91. IEEE, 10–12 February 2009, 2009.
13.
YoonY. and RusD.Shady3D: A Robot that Climbs 3D Trusses. In Proceedings of the 2007IEEE International Conference on Robotics and Automation, pages 4071–4076. IEEE, 10–14 April 2007, 2007.
14.
TavakoliM.ZakerzadehM. R.VossoughiG. R., and BagheriS.A hybrid pole climbing and manipulating robot with minimum DOFs for construction and service applications. Industrial Robot: An International Journal, 32(2):171–178, 2005.
15.
FiglioliniG.ReaP., and ConteM.Mechanical Design of a Novel Biped Climbing and Walking Robot. In Parenti-CastelliV. and SchiehlenW., editors, ROMANSY 18 Robot Design, Dynamics and Control, pages 199–206. Springer Vienna, 2010.
16.
BalaguerC.GiménezA., and JardonA.Climbing Robots' Mobility for Inspection and Maintenance of 3D Complex Environments. Autonomous Robots, 18(2):157–169, 2005.
17.
SaltarenR.AracilR.ReinosoO., and ScaranoM.A.Climbing Parallel Robot: A Computational and Experimental Study of its Performance Around Structural Nodes. IEEE Transactions on Robotics, 21(6):1056–1066, 2005.
18.
Gonzalez de SantosP.JimenezM.A., and ArmadaMA.Improving the Motion of Walking Machines by Autonomous Kinematic Calibration. Autonomous Robots, 12(2):187–199, 2002.
19.
TavakoliM.MarquesL., and De AlmeidaA.T.A low-cost approach for self-calibration of climbing robots. Robotica, 29(1):23–34, 2011.
20.
ChiaveriniS.OrioloG., and WalkerI.D.Kinematically Redundant Manipulators. In SicilianoB. and KhatibO., editors, Springer Handbook of Robotics, pages 245–268. Springer, 2008.
21.
RidgewayS. C.CraneC. D., and DuffyJ.A Forward Analysis of a Two Degree of Freedom Parallel Manipulator. In LenarčičJ. and Parenti-CastelliV., editors, Recent Advances in Robot Kinematics, pages 431–440. SpringerNetherlands, 1996.
22.
KongX. and GosselinC. M.Generation and Forward Displacement Analysis of RPR-PR-RPR Analytic Planar Parallel Manipulators. ASME J. Mech. Design, 124(2):294–300, 2002.
23.
BurdickJ. W.On the inverse kinematics of redundant manipulators: characterization of the self-motion manifolds. In Proceedings of the 1989 IEEE International Conference on Robotics and Automation, pages 264–270. IEEE, 14–19 May 1989, 1989.
24.
CastelletA. and ThomasF.Characterization of the self-motion set of the orthogonal spherical mechanism. Mech. Mach. Theory, 34(1):59–88, 1999.
25.
PatrikalakisN. M. and MaekawaT.Shape Interrogation for Computer Aided Design and Manufacturing.Springer-VerlagBerlin Heidelberg, 2002.