Next Article in Journal
An Edge-Based Architecture for Offloading Model Predictive Control for UAVs
Previous Article in Journal
Parameter-Adaptive Event-Triggered Sliding Mode Control for a Mobile Robot
Previous Article in Special Issue
Time Coordination and Collision Avoidance Using Leader-Follower Strategies in Multi-Vehicle Missions
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Singularity Avoidance for Cart-Mounted Hand-Guided Collaborative Robots: A Variational Approach

by
Erica Salvato
1,
Walter Vanzella
2,
Gianfranco Fenu
1 and
Felice Andrea Pellegrino
1,2,*
1
Department of Engineering and Architecture, University of Trieste, 34127 Trieste, Italy
2
Glance Vision Technologies Srl, Area Science Park, Edificio Q, S.S. 14, Km 163.5, 34012 Trieste, Italy
*
Author to whom correspondence should be addressed.
Robotics 2022, 11(4), 79; https://doi.org/10.3390/robotics11040079
Submission received: 15 June 2022 / Revised: 20 July 2022 / Accepted: 5 August 2022 / Published: 6 August 2022
(This article belongs to the Special Issue Women in Robotics)

Abstract

:
Most collaborative robots (cobots) can be taught by hand guiding: essentially, by manually jogging the robot, an operator teaches some configurations to be employed as via points. Based on those via points, Cartesian end-effector trajectories such as straight lines, circular arcs or splines are then constructed. Such methods can, in principle, be employed for cart-mounted cobots (i.e., when the jogging involves one or two linear axes, besides the cobot axes). However, in some applications, the sole imposition of via points in Cartesian space is not sufficient. On the contrary, albeit the overall system is redundant, (i) the via points must be reached at the taught joint configurations, and (ii) the undesirable singularity (and near-singularity) conditions must be avoided. The naive approach, consisting of setting the cart trajectory beforehand (for instance, by imposing a linear-in-time motion law that crosses the taught cart configurations), satisfies the first need, but does not guarantee the satisfaction of the second. Here, we propose an approach consisting of (i) a novel strategy for decoupling the planning of the cart trajectory and that of the robot joints, and (ii) a novel variational technique for computing the former in a singularity-aware fashion, ensuring the avoidance of a class of workspace singularity and near-singularity configurations.

1. Introduction

In addition to being able to operate side by side with humans, one of the remarkable skills of collaborative robots (also known as cobots) is their ability to be programmed by hand guiding.
Hand guiding is the process of making the robot compliant with external forces by the human operator, thus setting the desired via points by manually moving the end-effector into the corresponding poses [1]. Via points are employed to specify geometric primitives, such as line segments, circular arcs or splines, that constitute the trajectories to be executed by the robot. When compared to other robot teaching methods, such as jogging through teach pendant, or offline programming, hand guiding is an easier and faster procedure [2], and it is advantageous especially when production flexibility is a major concern. There are several ways to refer to hand-guided programming; e.g.,kinesthetic teaching, manual guidance [3], force guidance [4], lead-through programming [5], or walk-through programming [6]. In [7], a manual guidance approach is used in a human–robot cooperative system, and is applied to the transportation and assembly of workpieces in a production line. Ref. [8] proposes a precision hand-guiding approach of industrial manipulators with obstacle avoidance capability. A sensorless hand-guiding method based on torque control is designed, and tested on a 6 degrees of freedom (d.o.f.) manipulator, in [9]. Ref. [10] describes a precision hand-guiding approach based on the end-effector force/torque measurements, and a compensation of the tool weight/inertia.
Given the Cartesian space trajectories resulting from the hand guiding taught via points, the next step is to achieve suitable joint trajectories as results of inverse kinematics (IK) [11,12]. In the case of 6 d.o.f.manipulators, or more precisely, when the robot has the exact number of degrees of freedom required to accomplish a given task, there is one-to-one matching between the end-effector pose and the joint angles (up to a finite number of different configurations [13], of which, in the case of hand guiding, exactly one is prescribed). However, in the case of redundant manipulators (which have more degrees of freedom than those strictly required to execute the task) the same end-effector pose might be reached by an infinite number of joint trajectories. A challenge, in this setting, is that of choosing one among those joint trajectories, simultaneously exploiting the additional degrees of freedom in order to accomplish secondary objectives, e.g.,collision avoidance, singularity avoidance, or satisfaction of joint constraints (see [14] for a thorough review of the redundancy resolution methods). On the other hand, for some practical applications, such as the one shown in Section 2, it is also necessary to avoid unpredictable configurations at a taught end-effector pose. In other words, the redundancy resolution algorithm should not lead to the desired Cartesian trajectory by means of joint configurations different from the taught ones.
To the authors’ knowledge, in manual guidance applications, there is no general approach to exploit the redundancy and ensure, at the same time, that the taught end-effector poses are achieved at the taught joint configurations. Indeed, typically, hand-guiding approaches are mainly focused on Cartesian trajectory tracking only [8,10,15,16,17]. A related, but different, concept is that of cyclicity, namely the property of obtaining the same joint configurations when a certain task is repeatedly executed by a redundant manipulator [18,19,20,21,22]. However, we deal with a stricter requirement: the joint configurations must not only be the same when the task is repeatedly executed, but, in addition, the joint trajectories must cross the taught configurations.
The contribution of the present paper is twofold: (1) we show that the kinematic inversion of a particular redundant manipulator (specifically, a cobot mounted on a cart) can be decoupled into the computation of a singularity-aware cart motion law, followed by a standard kinematic inversion for the robot (the mentioned computation can ultimately be reduced to a particular path planning problem); (2) we propose a variational approach to compute the singularity-aware cart motion law. The proposed approach, which has been validated in simulation, can be generalized to a more complex scenario, where more than one linear axis is added to the overall kinematic chain. The problem considered in the present paper has significant importance in the industrial practice. Indeed, in flexible manufacturing systems, kinesthetic teaching is extremely useful, since it avoids time-consuming offline programming that is not convenient for small-batch or even one-of-a-kind production [23,24,25]. When employing kinesthetic teaching, the operator himself takes into account several secondary (but important) tasks, e.g., obstacle avoidance, proper approach to the workpiece, constraints due to cables and many more. Those constraints are handled by a proper choice of the via points, under the implicit assumption that the via point will be reached with a robot configuration which is the same configuration of the robot at time of teaching that via point. However, when the overall system is redundant, such an assumption does not hold any more, but the secondary tasks still need to be accomplished. The present work addresses this problem, allowing the operator to rely on a one-to-one correspondence between taught via points and joint configurations. The remainder of the manuscript is organized as follows. Section 2 describes the problem addressed, and also provides a useful formalism for the subsequent sections. In Section 3, the proposed solution is formally presented. Section 4 shows numerical simulations of the proposed approach performed on a 6 d.o.f. robotic arm mounted on a linear-axis cart. Finally, conclusions and future works are discussed in Section 5.

2. Cart-Mounted Cobot, Redundancy and Shoulder Singularity

A motivating application for the present work is the robotic soldering of large workpieces. Hand guiding is particularly advantageous to this end, because it allows us to program soldering trajectories (which are frequently composed of straight lines and/or circular arcs) with just a few manually taught points. This benefit is even more evident in flexible production systems, in which small, or even unitary, lots of items are processed. Clearly, the offline programming time–effort in this case is greater than the time taken by the human operator to manually guide the robot.
In the following, we consider a 6 d.o.f manipulator mounted on a cart, such as the one depicted in Figure 1. Hand-guiding programming can be employed on such a system, provided that the jogging involves the cart as well.
The cart, besides extending the effective workspace of the manipulator (allowing us to process larger workpieces), introduces an additional prismatic joint in the kinematic chain, thus leading to an overall redundant robotic system. Such a redundancy raises two issues, related to each other, namely (1) the actual joint configurations at the taught via points, and (2) the shoulder singularity avoidance, hereafter described in detail.

2.1. Actual Joint Configurations

The taught via points must be reached at the corresponding taught joint configuration. A practical reason for this requirement is the need to mix Cartesian and joint-space motions; for instance, a taught configuration may be the starting configuration of a joint-space motion primitive (such as a homing movement). However, when employing a standard redundancy resolution algorithm [14], there is no guarantee that the actual taught joint configuration will be reached.
A straightforward way to circumvent the problem is to set the cart trajectory beforehand (for instance, by imposing a linear-in-time motion law that crosses the taught cart configurations), thus losing a degree of freedom. The remaining 6 are then exploited, via inverse kinematics, to get the desired end-effector motion. Since, in that case, the actual kinematic inversion operates on a non-redundant system, the unpredictable configurations are avoided. Meanwhile, the ability of redundant robots to avoid the singularity is lost. In particular, in the following, we focus our attention on avoiding shoulder singularity conditions.

2.2. Shoulder Singularity Avoidance

As is well known, singularity is an essential problem related to the kinematics of robotic arms [26,27,28,29,30,31]. Using q and p to denote the joints, and the end-effector pose variables, respectively, the differential kinematics are described by
p ˙ = J ( q ) q ˙ ,
where J ( q ) is the Jacobian matrix at configuration q. The configurations leading to rank drops of J ( q ) are termed kinematic singularities. Such an algebraic characterization has a physical counterpart: those configurations correspond to reduced mobility of the end-effector, i.e., some operational space velocities p ˙ cannot be achieved, no matter how the joint velocity q ˙ is chosen. Moreover, in the neighbourhood of a singularity, small velocities in the operational space may lead to large velocities in the joint space. An in-depth treatment of the subject is outside the scope of the present work (the reader is referred to Chapter 3 of [13]). Here, we only point out that (i) we are facing the shoulder singularity problem, which is a particular kind of arm singularity [13] and, (ii) in the case of redundant manipulators, several techniques exist [14] to exploit the redundancy in order to avoid the problems caused by the kinematic singularities.
Shoulder singularity occurs when the wrist of a manipulator is located on the rotational axis of the base [13] (i.e.,the first joint), and may easily occur when the robot is mounted, as in Figure 1, and the workpiece lies below the robot.
From a practical standpoint, not only singular, but also near-singular configurations must be avoided, meaning that the robot flange must stay clear of the cylindrical avoidance zone, highlighted in yellow in Figure 1. Hereinafter, we will refer to the above zone as the non-admissible volume.
A possible approach to avoid singularities without relying on manipulator redundancy is through variational path planning (VPP) [32], which consists of constructing a path functional, and optimizing this functional over all possible paths using standard methods of variational calculus.

2.3. Problem Statement

In the present paper, we face the following problem. Given a set of N taught poses P = p ( 1 ) , p ( 2 ) , , p ( N ) , and a set of corresponding joint configurations Q = q ( 1 ) , q ( 2 ) , , q ( N ) , both constructed during the hand-guiding procedure, the goal of the sought redundancy resolution algorithm is to simultaneously fulfill the following requirements:
  • Obtain a prescribed motion (e.g.,straight line or circular arc) when moving from p ( j ) to p ( j + 1 ) ;
  • Reach each p ( j ) P with the corresponding q ( j ) Q joint configuration j 1 , 2 , , N (Section 2.1);
  • Avoid (shoulder) singular and near-singular configurations (Section 2.2).
More specifically, let q ( j ) and q ( j + 1 ) be two subsequent taught configurations, corresponding to the poses p ( j ) and p ( j + 1 ) , respectively, and let p ( t ) , with t t j , t j + 1 , be the desired motion law from the pose p ( j ) = p ( t j ) to the pose p ( j + 1 ) = p ( t j + 1 ) . Denoting by f ( q ) the forward kinematics function of the overall system, and assuming q ( t j ) = q ( j ) , the aim is to find a joint motion law q ( t ) , such that:
f q ( t ) = p ( t ) t t j , t j + 1 , q ( t j + 1 ) = q ( j + 1 ) , singular and near - singular configurations are avoided .
The authors are not aware of current solutions to that problem. In the following sections, two redundancy resolution schemes will be compared to the proposed approach, to show that neither of the two is able to accomplish the goals expressed by (2).

3. Proposed Approach

Consider the cart-mounted manipulator depicted in Figure 1 (for the sake of illustration, we report an inverted-mounted robot, but the proposed approach is valid for any other mounting choice).
We use q ( t ) = q 0 ( t ) q 1 ( t ) q 6 ( t ) to denote the configuration of the overall system at time t, where q 0 ( t ) is the cart position, while q k ( t ) and k = 1 6 are the joint angles of the manipulator, at time t. Let the set C = C q ( t ) denote the non-admissible cylindrical volume of radius r C , corresponding to the configuration q ( t ) . Likewise, let the point P = P q ( t ) be the origin of the flange reference frame. If the pose of the flange is represented by the tuple ( x , y , z , ϕ , θ , ψ ) with respect to a certain fixed reference frame, then P will be represented by ( x , y , z ) with respect to the same frame. Then, to avoid singularity, the condition to be enforced (by a proper choice of q ( t ) ) is:
P q ( t ) C q ( t ) , t t j , t j + 1 ,
where t j and t j + 1 are the initial and the final time of the desired motion law, respectively. However, according to the shoulder singularity condition described in Section 2.2, it is easy to recognize that C depends on the cart position q 0 only:
C = C q 0 ( t ) ,
while P is completely specified as a function of time:
P = P ( t ) ,
since it is nothing more than the translational part of the flange desired motion law. Then, condition (3) becomes
P ( t ) C q 0 ( t ) t t j , t j + 1 .
As a consequence, setting q 0 ( t ) , t t j , t j + 1 (i.e.,the cart motion law) beforehand, such that (4) is satisfied, is sufficient to obtain a singularity-free trajectory.
We now introduce a fixed reference frame whose x-axis matches with the cart direction axis. The z-axis is aligned with the axis of the first manipulator joint (i.e.,the non-admissible cylinder axes in Figure 1), and the y-axis is such that the overall reference frame is right-handed.
We use x P ( t ) , y P ( t ) to denote the coordinates of the projection of the flange Cartesian point P ( t ) onto the plane x y (i.e.,the plane containing x and y), and by x C ( t ) = q 0 ( t ) , 0 the coordinates of the cart in the same plane. Then, the singularity avoidance condition (4) is equivalent to the imposition of x P ( t ) , y P ( t ) outside the circle centered in x C ( t ) , 0 with radius r C :
x P ( t ) x C ( t ) 2 + y P 2 ( t ) > r C 2 t t j , t j + 1 ,
For any fixed t ¯ t j , t j + 1 , and the corresponding x P ( t ¯ ) , y P ( t ¯ ) , the previous inequality is satisfied for
x C ( t ¯ ) , λ ( t ¯ ) λ + ( t ¯ ) , + ,
where λ ( t ¯ ) and λ + ( t ¯ ) are the real roots of the polynomial:
λ 2 2 x P ( t ¯ ) λ + x P 2 ( t ¯ ) + y P 2 ( t ¯ ) r C 2 .
If the roots are non-real, then the inequality is satisfied for all x C , i.e.,for any cart position.
We assume that the desired Cartesian motion law p ( t ) is continuous (this is not a restriction, since a basic requirement for a motion law is continuity with respect to time), then x P ( t ) , y P ( t ) is continuous as well; consequently, the coefficients of (6) are continuous with respect to time. Thus, the roots λ ( t ) and λ + ( t ) describe two continuous curves in t that, in accordance with (6), define for each t a (possibly empty) non-admissible interval for x C ( t ) . Figure 2 reports an example of such curves and the resulting non-admissible region (in light orange). Any cart motion law x C ( t ) from x C ( t j ) = q 0 ( t j ) to x C ( t j + 1 ) = q 0 ( t j + 1 ) that does not intersect the non-admissible region, e.g.,the green curve in Figure 2, guarantees the satisfaction of (5). On the contrary, any cart motion law intersecting the non-admissible region will result in a singular or near-singular configuration for some t (i.e.,violation of (5)); thus, it is itself non-admissible. The red straight line in Figure 2 (corresponding to a linear-in-time motion of the cart from x C ( t j ) to x C ( t j + 1 ) ) is an example of such non-admissible motion laws.
The above considerations allow us to conclude that the singularity avoidance can be achieved by establishing a proper motion law of the cart, which in turn amounts to finding a curve from x C ( t j ) to x C ( t j + 1 ) that does not intersect with the non-admissible region. Such a problem can be interpreted as constrained (the constraint is due to the fact that the trajectory cannot go backward in time) path planning with obstacle avoidance, which can be solved with many tools [33,34]. In the following, we employ a variational approach.
Specifically, we consider the following functional, which associates a non-negative cost with each function x C ( · ) : [ t j , t j + 1 ] R :
F ( x C ( · ) ) = t j t j + 1 H ( x C ( t ) ) d t + α t j t j + 1 d x C ( t ) d t 2 d t ,
where H is a density function, and α > 0 is a parameter that weights the contribution of the regularization term, which penalizes irregular motion laws. H is null in the admissible region, and positive in the non-admissible region, increasing as the argument moves toward the center of the region. Then, we formulate the following minimization problem:
x C * ( · ) = arg min F ( x C ( · ) ) s . t . x C ( t j ) = q 0 ( t j ) , x C ( t j + 1 ) = q 0 ( t j + 1 )
We solve a discretized version of (8) iteratively, starting from a linear-in-time initial guess. The minimizer x C * ( · ) is the sought cart motion law, provided that the first term of (7) is null. In practice, the minimization problem does not need to be solved (i.e.,it is not necessary to reach a minimum), but it is sufficient to find a x C ( · ) , such that t j t j + 1 H ( x C ( t ) ) d t = 0 .
In two cases, there is no admissible cart motion law. With reference to Figure 2, the first (trivial) case occurs when x C ( t j ) , and/or x C ( t j + 1 ) , lie within the non-admissible region. Clearly, in that case, any curve joining the points will intersect the non-admissible region. The other case occurs whenever x C ( t j ) > λ + ( t j ) , while x C ( t j + 1 ) < λ ( t j + 1 ) (or vice versa), and the polynomial (6) has real roots for all t [ t j , t j + 1 ] . Both situations can be easily detected at time of formulating the discretized problem, but cannot be circumvented. In both cases, indeed, the start and/or the final configuration are not compatible with the desired motion law, meaning that the latter can only be achieved entering the non-admissible region. In other words, the singularity or near/singularity is unavoidable. Possible solutions are (1) Modifying the initial and/or final configuration; (2) Shrinking the non-admissible volume. The former requires the operator’s intervention.
As soon as the cart motion law has been computed, a standard IK algorithm (the resolved rate motion control [13]) is applied to a modified pose motion law p ( t ) , precisely:
p ( t ) = translx p ( t ) , x C ( t ) , t t j , t j + 1 ,
where translx p , δ operates a translation of the pose p of an amount δ along the x-axis. Such a kinematic inversion operates on a fixed robot model, whose configuration is fully specified by q k ( t ) , k = 1 , , 6 (i.e.,the cart is ignored); thus, there is no redundancy to account for.
A neat overview of the steps to be performed in order to experimentally implement the proposed approach can be found in Algorithm 1. In Algorithm 2, on the other hand, we provide the operations flow to be performed in order to determine the optimal cart motion law.
Algorithm 1 Variational approach description: the main steps.
  • Collect N end-effector poses p ( 1 ) , p ( 2 ) , , p ( N ) and the corresponding joint configurations q ( 1 ) , q ( 2 ) , , q ( N )
  •  
  • Set the end-effector motion law p ( t )
  •  
  • Find the optimal cart motion law, minimizing Equation (10)            ▹ See Algorithm 2
  •  
  • Apply a standard IK algorithm to the motion law described by Equation (9)
  •  
  • Merge the cart motion law and the IK solution and apply it to the robot
Algorithm 2 Find the optimal cart motion law.
Require:
  • N end-effector poses p ( 1 ) , p ( 2 ) , , p ( N )
  • the corresponding joint configurations q ( 1 ) , q ( 2 ) , , q ( N )
  • the motion law p ( t ) , t t j , t j + 1 , from p ( t j ) = p ( j ) to p ( t j + 1 ) = p ( j + 1 ) , with j = 1 , 2 , N 1
  • the non-admissible cylinder radius r C
  • the discretization time step Δ
Ensure: the optimal cart motion law q 0
  • q 0 [   ]         ▹ cart motion as empty array
  • for j 1 to N 1  do        ▹ project the poses p j , p j + 1
  •      P ( t k ) = x P ( t k ) , y P ( t k ) p k = x k , y k , z k , ϕ k , θ k , ψ k , k = j , j + 1        ▹ project the cart position
  •      x C ( t k ) , 0 q 0 ( t k ) , 0 , k = j , j + 1        ▹ check the solution feasibility at t j and t j + 1
  •     if  P ( t j ) x C ( t j ) , 0 > r C )  and  ( P ( t j + 1 ) x C ( t j + 1 ) , 0 > r C then
    •          i s f e a s i b l e t r u e
  •     else
    •          i s f e a s i b l e f a l s e
  •     end if
  •     if  i s f e a s i b l e  then
    •          M = ( t j + 1 t j ) / Δ j         ▹ discr. time instants in current interval
    •             ▹ minimize cost function Equation (10) in interval [ t j , t j + 1 ]
    •          q 0 ( j ) arg min ( 10 )        ▹ cart motion law in interval [ t j , t j + 1 ]
    •          q 0 q 0 q 0 ( j )        ▹ collect cart motion law
  •     else
    •         throw a proper error message
    •         break
  •     end if
  • end for
  • return  q 0

3.1. On the Convergence to a Feasible Solution

As far as the convergence to a feasible solution is concerned, we point out that in its discrete formulation (see Section 4), the algorithm is guaranteed to converge to a (possibly local) minimum of the functional, but there is no guarantee that the minimum leads to a feasible trajectory, since it may correspond to a t j t j + 1 H ( x C ( t ) ) d t > 0 . The parameter α , and the shape of the non-admissible region in the plane ( t , x C ) , determine the number and the shape of the local minima of the functional. As a consequence, a crucial role is played by the initial guess, which may lead to different local minima. In this respect, a strategy that might be preferable to selecting a linear initial guess (which may cross the non-admissible region) is that of choosing an admissible-by-construction, albeit possibly irregular, trajectory using the functional F as a regularizer. The density can then be removed from F, and t j t j + 1 H ( x C ( t ) ) d t = 0 employed as a constraint.
A numerical example of such a strategy is reported in the next section.

4. Simulations

The performed experiments have been deployed on an iMac Pro (2017) with a 3.2 GHz Intel Xeon W 8-core processor and using Matlab 2021b, and consist of moving the flange of a Universal Robots UR10 manipulator, which has 6 d.o.f., from pose p ( 1 ) = 0.2607 , 0.1354 , 1.4551 , 2.6348 , 0.7090 , 0.1134 to pose p ( N ) = 0.8531 , 0.2549 , 1.4551 0.1648 , 0.7090 , 0.1134 (the first three components of each pose represent the coordinates x, y, and z in m , while the last three elements are the Euler angles in rad , expressing the following order of rotation: z-axis, y-axis, x-axis) along a straight line, in which the cart moves from q 0 ( 1 ) = 0.50 m to q 0 ( N ) = 0.75 m , and the remaining joints from q 1 : 6 ( 1 ) = 1.235 , 1.7272 , 0.7000 , 1.0000 , 1.5951 , 0.0311 rad to q 1 : 6 ( N ) = 1.235 , 1.7272 , 0.7000 , 1.0000 , 1.5951 , 0.0311 rad . The non-admissible cylinder has a radius r C = 200 .
The functional employed for testing the proposed variational approach is a discretized version of (7):
F = i = 1 M H ( x C ( i ) ) + α i = 1 M 1 x C ( i ) x C ( i + 1 ) 2 ,
where M is the number of discrete time steps considered (for simplicity, applying a properly chosen time discretization step Δ j to every time interval [ t j , t j + 1 ] ), and α is the regularization weight. For the trajectory reported in Figure 3, lasting 200 s, N was chosen to be 5068, and α was set equal to 0.01 .
The density H increases linearly from 0 to 1 when moving toward the center of the non-admissible interval λ ( i ) , λ + ( i ) , as shown in Figure 4.
The minimization is performed iteratively, in a gradient descent fashion, starting from a linear-in-time (non-admissible) initial guess, represented in blue in Figure 3. In the same figure, some other intermediate candidate solutions are represented. The entire minimization procedure requires 53,707 iterations, and lasts ∼7.95 s to find the optimal solution on the previously defined hardware and software. The resulting cart motion law is represented in Figure 5a.
The proposed approach is compared with two other techniques.
The first one is the trivial approach consisting of attributing an arbitrary motion law to the cart, from q 0 ( t j ) to q 0 ( t j + 1 ) , followed by IK applied to the modified pose motion law (9). In particular, we choose a linear-in-time motion, represented in Figure 5b, and we will refer to it as a linear approach. Such a method does not guarantee the avoidance of singular and near-singular configurations, as it is clear from Figure 5b, where the cart trajectory crosses the non-admissible region.
The second technique is a well-known redundancy resolution scheme [14] that exploits redundancy to locally maximize an objective function w ( q ) . Henceforth, we will refer to it as the redundant approach. Omitting the time dependency for easy notation, with J ( q ) R 7 × 6 denoting the Jacobian at configuration q, and J ( q ) denoting its pseudo-inverse, the redundancy resolution scheme is:
q ˙ = J ( q ) p ˙ + I J ( q ) J ( q ) w ( q ) q ,
where the operator I J ( q ) J ( q ) projects the gradient of w ( q ) onto the null space of the Jacobian (thus, it does not affect the task). We implemented a discretized version of (11) [35], and employed the following objective function:
w ( q ) = 1 2 k = 0 6 q k q k , mid q k , max q k , min 2 ,
corresponding to the requirement of keeping each joint angle q k close to the mid value of a certain range q k , min , q k , max . Indirectly, such an objective function enforces singularity avoidance, since the chosen ranges are such that mid values are well away from the singular and near-singular configurations. This is apparent from Figure 5c, where the cart trajectory does not intersect the non-admissible region.
In the performed experiment, we consider q min = 0 , 2 π , 2 π , 2 π , 2 π , 2 π , 2 π , and q max = 1 , 2 π , 2 π , 2 π , 2 π , 2 π , 2 π .
In Figure 6, Figure 7 and Figure 8, we can observe the joints trajectories achieved using each of the three compared approaches against their respective target values (dashed lines).
In the linear case (Figure 6), we can observe unacceptable joint behavior due to the crossing of the non-admissible volume, as previously shown in Figure 5b. These results highlight the inefficacy of the linear method in addressing the two problems presented in Section 2.1 and Section 2.2.
In the redundant case, despite being able to keep the cart outside the singularity zone (Figure 5c), the desired joint values are not reached, as clearly shown in Figure 7. Therefore, even if the redundant approach allows us to address the problem stated in Section 2.2, it fails the challenge outlined in Section 2.1.
The proposed variational approach, in contrast with the other two approaches above, is effective at both avoiding shoulder singularity (Figure 5c) and reaching target joints (Figure 8).
Finally, in Figure 9, we report the candidate solutions at different iterations when employing the strategy mentioned in Section 3.1, i.e.,starting from an admissible-by-construction initial guess. Specifically, the initial guess is discontinuous motion, in which the cart moves in one step from its initial position to the maximum of the allowed range (1000 mm), and at the end goes back to the final value in a single step. Clearly, such a motion law is unacceptable, but the functional acts a regularized and the final solution is the same as before.

5. Conclusions

We have described how to generate joint trajectories for a hand-guided cobot mounted on a cart, guaranteeing singularity avoidance, whilst imposing the joint configurations at the taught via points. The proposed method allows decoupling of the kinematic inversion of the manipulator mounted on a cart into the computation of a singularity-aware cart motion law, and a standard kinematic inversion for the robot. As an application example, we considered a 6 d.o.f. manipulator mounted on a cart, capable of straight-line movements. Comparing the results with those of a classic technique for redundant robots, we have shown the effectiveness of the proposal on the imposition of the joint configurations at the taught via points. The approach can be applied to any manipulator affected by the shoulder singularity; in particular, to any anthropomorphic manipulator. Moreover, it can be easily extended to configurations involving two linear axes besides the cobot axes, allowing for planar cart movements. Apart from being tailored to a very specific (albeit significant) problem, the main limitation of the proposed method is that it lacks a theoretical guarantee of the admissibility of the optimal solution, since the constraints are incorporated in the cost. However, as explained in Section 3.1, the limitation can be circumvented by employing admissible-by-construction initial guesses. The potential of using a combination of prismatic joints, as additional d.o.f. for a manipulator, in coping with a broader class of singularity and near-singularity configurations will be the object of further investigation.

Author Contributions

Conceptualization, F.A.P., W.V. and E.S.; methodology, F.A.P. and W.V.; validation, F.A.P., E.S. and W.V.; writing—original draft preparation, G.F., F.A.P. and E.S.; writing—review and editing, G.F., F.A.P. and E.S. All authors have read and agreed to the published version of the manuscript.

Funding

This work has been partially supported by the Italian Ministry for Research in the framework of the 2017 Program for Research Projects of National Interest (PRIN), Grant no. 2017YKXYXJ.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Balasubramanian, R.; Xu, L.; Brook, P.D.; Smith, J.R.; Matsuoka, Y. Physical human interactive guidance: Identifying grasping principles from human-planned grasps. IEEE Trans. Robot. 2012, 28, 899–910. [Google Scholar] [CrossRef]
  2. Lee, H.M.; Kim, J.B. A survey on robot teaching: Categorization and brief review. In Applied Mechanics and Materials; Trans Tech Publications Ltd.: Frienbach, Switzerland, 2013; Volume 330, pp. 648–656. [Google Scholar]
  3. Massa, D.; Callegari, M.; Cristalli, C. Manual guidance for industrial robot programming. Ind. Robot. Int. J. 2015, 42, 457–465. [Google Scholar] [CrossRef]
  4. Rodamilans, G.B.; Villani, E.; Trabasso, L.G.; de Oliveira, W.R.; Suterio, R. A comparison of industrial robots interface: Force guidance system and teach pendant operation. Ind. Robot. Int. J. 2016, 43, 552–562. [Google Scholar] [CrossRef]
  5. Ragaglia, M.; Zanchettin, A.M.; Bascetta, L.; Rocco, P. Accurate sensorless lead-through programming for lightweight robots in structured environments. Robot. Comput.-Integr. Manuf. 2016, 39, 9–21. [Google Scholar] [CrossRef]
  6. Bascetta, L.; Ferretti, G.; Magnani, G.; Rocco, P. Walk-through programming for robotic manipulators based on admittance control. Robotica 2013, 31, 1143–1153. [Google Scholar] [CrossRef]
  7. Fujii, M.; Murakami, H.; Sonehara, M. Study on application of a human-robot collaborative system using hand-guiding in a production line. IHI Eng. Rev 2016, 49, 24–29. [Google Scholar]
  8. Safeea, M.; Neto, P.; Béarée, R. Precise hand-guiding of redundant manipulators with null space control for in-contact obstacle navigation. In Proceedings of the IECON 2019—45th Annual Conference of the IEEE Industrial Electronics Society, Lisbon, Portugal, 14–17 October 2019; Volume 1, pp. 693–698. [Google Scholar] [CrossRef]
  9. Lee, S.D.; Ahn, K.H.; Song, J.B. Torque control based sensorless hand guiding for direct robot teaching. In Proceedings of the 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, Korea, 9–14 October 2016; pp. 745–750. [Google Scholar] [CrossRef]
  10. Safeea, M.; Bearee, R.; Neto, P. End-effector precise hand-guiding for collaborative robots. In Proceedings of the Iberian Robotics Conference, Sevilla, Spain, 22–24 November 2017; Springer: Berlin/Heidelberg, Germany, 2017; pp. 595–605. [Google Scholar]
  11. Blanchini, F.; Fenu, G.; Giordano, G.; Pellegrino, F.A. Inverse kinematics by means of convex programming: Some developments. In Proceedings of the 11th IEEE International Conference on Automation Science and Engineering (CASE 2015), Gothenburg, Sweden, 24–28 August 2015; pp. 3–8. [Google Scholar] [CrossRef]
  12. Blanchini, F.; Fenu, G.; Giordano, G.; Pellegrino, F.A. A convex programming approach to the inverse kinematics problem for manipulators under constraints. Eur. J. Control 2017, 33, 11–23. [Google Scholar] [CrossRef]
  13. Siciliano, B.; Sciavicco, L.; Villani, L.; Oriolo, G. Robotics: Modelling, Planning and Control; Springer: Berlin/Heidelberg, Germany, 2009. [Google Scholar]
  14. Chiaverini, S.; Oriolo, G.; Walker, I.D. Kinematically redundant manipulators. In Springer Handbook of Robotics; Siciliano, B., Khatib, O., Eds.; Springer: Berlin/Heidelberg, Germany, 2008; pp. 245–268. [Google Scholar]
  15. Safeea, M.; Neto, P. Precise positioning of collaborative robotic manipulators using hand-guiding. Int. J. Adv. Manuf. Technol. 2022, 120, 5497–5508. [Google Scholar] [CrossRef]
  16. Wrede, S.; Emmerich, C.; Grünberg, R.; Nordmann, A.; Swadzba, A.; Steil, J. A user study on kinesthetic teaching of redundant robots in task and configuration space. J. Hum.-Robot. Interact. 2013, 2, 56–81. [Google Scholar] [CrossRef]
  17. Weyrer, M.; Brandstötter, M.; Husty, M. Singularity avoidance control of a non-holonomic mobile manipulator for intuitive hand guidance. Robotics 2019, 8, 14. [Google Scholar] [CrossRef]
  18. Baillieul, J. Kinematic programming alternatives for redundant manipulators. In Proceedings of the Proceedings. 1985 IEEE International Conference on Robotics and Automation, St. Louis, MO, USA, 25–28 March 1985; Volume 2, pp. 722–728. [Google Scholar]
  19. Safeea, M.; Bearee, R.; Neto, P. A Modified DLS Scheme With Controlled Cyclic Solution for Inverse Kinematics in Redundant Robots. IEEE Trans. Ind. Inform. 2021, 17, 8014–8023. [Google Scholar] [CrossRef]
  20. Zhang, Y.; Zhang, Z. Repetitive Motion Planning and Control of Redundant Robot Manipulators; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2014. [Google Scholar]
  21. Zhang, Z.; Yan, Z.; Fu, T. Varying-parameter RNN activated by finite-time functions for solving joint-drift problems of redundant robot manipulators. IEEE Trans. Ind. Inform. 2018, 14, 5359–5367. [Google Scholar] [CrossRef]
  22. Zhang, Z.; Zheng, L.; Yu, J.; Li, Y.; Yu, Z. Three recurrent neural networks and three numerical methods for solving a repetitive motion planning scheme of redundant robot manipulators. IEEE/ASME Trans. Mechatron. 2017, 22, 1423–1434. [Google Scholar] [CrossRef]
  23. Simonič, M.; Petrič, T.; Ude, A.; Nemec, B. Analysis of methods for incremental policy refinement by kinesthetic guidance. J. Intell. Robot. Syst. 2021, 102, 5. [Google Scholar] [CrossRef]
  24. Dean-Leon, E.; Ramirez-Amaro, K.; Bergner, F.; Dianov, I.; Lanillos, P.; Cheng, G. Robotic technologies for fast deployment of industrial robot systems. In Proceedings of the IECON 2016–42nd Annual Conference of the IEEE Industrial Electronics Society, Florence, Italy, 24–27 October 2016; pp. 6900–6907. [Google Scholar] [CrossRef]
  25. Li, P.; Jiang, P.; Zhang, G. An enhanced DMAIC method for feature-driven continuous quality improvement for multi-stage machining processes in one-of-a-kind and small-batch production. IEEE Access 2019, 7, 32492–32503. [Google Scholar] [CrossRef]
  26. Bedrossian, N.; Flueckiger, K. Characterizing spatial redundant manipulator singularities. In Proceedings of the ICRA, Sacramento, CA, USA, 9–11 April 1991; pp. 714–719. [Google Scholar]
  27. Burdick, J.W. On the inverse kinematics of redundant manipulators: Characterization of the self-motion manifolds. In Advanced Robotics: 1989; Springer: Berlin/Heidelberg, Germany, 1989; pp. 25–34. [Google Scholar]
  28. Shamir, T. The singularities of redundant robot arms. Int. J. Robot. Res. 1990, 9, 113–121. [Google Scholar] [CrossRef]
  29. Tchoń, K.; Matuszok, A. On avoiding singularities in redundant robot kinematics. Robotica 1995, 13, 599–606. [Google Scholar] [CrossRef]
  30. Kim, J.; Marani, G.; Chung, W.K.; Yuh, J. A general singularity avoidance framework for robot manipulators: Task reconstruction method. In Proceedings of the IEEE International Conference on Robotics and Automation, 2004. Proceedings. ICRA’04, New Orleans, LA, USA, 26 April–1 May 2004; Volume 5, pp. 4809–4814. [Google Scholar]
  31. Wang, H.; Zhou, Z.; Zhong, X.; Chen, Q. Singular Configuration Analysis and Singularity Avoidance with Application in an Intelligent Robotic Manipulator. Sensors 2022, 22, 1239. [Google Scholar] [CrossRef] [PubMed]
  32. Sen, S.; Dasgupta, B.; Mallik, A.K. Variational approach for singularity-free path-planning of parallel manipulators. Mech. Mach. Theory 2003, 38, 1165–1183. [Google Scholar] [CrossRef]
  33. Lavalle, S.M. Planning Algorithms; Cambridge University Press: Cambridge, UK, 2006. [Google Scholar]
  34. Casagrande, D.; Fenu, G.; Pellegrino, F.A. Hamiltonian path planning in constrained workspace. Eur. J. Control 2017, 33, 1–10. [Google Scholar] [CrossRef]
  35. Pellegrino, F.A.; Vanzella, W. Virtual Redundancy and Barrier Functions for Collision Avoidance in Robotic Manufacturing. In Proceedings of the 2020 7th International Conference on Control, Decision and Information Technologies (CoDIT), Prague, Czech Republic, 9 June–2 July 2020; Jablonsky, J., Fliess, M., Viedma, E.H., Eds.; Volume 1, pp. 957–962. [Google Scholar] [CrossRef]
Figure 1. Example of cart-mounted robot. The yellow cylinder represents the near-singularity volume to be avoided by the end-effector (shoulder singularity).
Figure 1. Example of cart-mounted robot. The yellow cylinder represents the near-singularity volume to be avoided by the end-effector (shoulder singularity).
Robotics 11 00079 g001
Figure 2. Example of the non-admissible region (light orange) enclosed within the λ ( t ) and the λ + ( t ) curves. The green curve is an example of a cart motion law x C ( t ) that guarantees the satisfaction of (5). The red curve is an example of a non-admissible cart motion law x C ( t ) , since it violates (5).
Figure 2. Example of the non-admissible region (light orange) enclosed within the λ ( t ) and the λ + ( t ) curves. The green curve is an example of a cart motion law x C ( t ) that guarantees the satisfaction of (5). The red curve is an example of a non-admissible cart motion law x C ( t ) , since it violates (5).
Robotics 11 00079 g002
Figure 3. Cart trajectories attempts along x-axes with respect to the singularity area (light orange) in variational approach. The thicker orange line is the trajectory solution of the minimization problem (8). The blue straight line represents the initial guess of (8).
Figure 3. Cart trajectories attempts along x-axes with respect to the singularity area (light orange) in variational approach. The thicker orange line is the trajectory solution of the minimization problem (8). The blue straight line represents the initial guess of (8).
Robotics 11 00079 g003
Figure 4. Density H as a function of the cart coordinate.
Figure 4. Density H as a function of the cart coordinate.
Robotics 11 00079 g004
Figure 5. Cart motion as a function of time (dark orange) with respect to the singularity area (light orange) in all the approaches that have been compared. Both the variational and the redundant approach exhibit effective behavior in addressing the singularity avoidance problem presented in Section 2.2.
Figure 5. Cart motion as a function of time (dark orange) with respect to the singularity area (light orange) in all the approaches that have been compared. Both the variational and the redundant approach exhibit effective behavior in addressing the singularity avoidance problem presented in Section 2.2.
Robotics 11 00079 g005
Figure 6. Joint references (dashed), and joint trajectories in time resulting from linear approach. Each colour is related to a specific joint q i i 0 , , 6 . The revolute joints are expressed in rad , while the cart displacement joint is expressed in m .
Figure 6. Joint references (dashed), and joint trajectories in time resulting from linear approach. Each colour is related to a specific joint q i i 0 , , 6 . The revolute joints are expressed in rad , while the cart displacement joint is expressed in m .
Robotics 11 00079 g006
Figure 7. Joint references (dashed), and joint trajectories in time resulting from redundancy approach. Each color is related to a specific joint q i i 0 , , 6 . The revolute joints are expressed in rad , while the cart displacement joint is expressed in m .
Figure 7. Joint references (dashed), and joint trajectories in time resulting from redundancy approach. Each color is related to a specific joint q i i 0 , , 6 . The revolute joints are expressed in rad , while the cart displacement joint is expressed in m .
Robotics 11 00079 g007
Figure 8. Joint references (dashed), and joint trajectories in time resulting from variational approach. Each color is related to a specific joint q i i 0 , , 6 . The revolute joints are expressed in rad , while the cart displacement joint is expressed in m .
Figure 8. Joint references (dashed), and joint trajectories in time resulting from variational approach. Each color is related to a specific joint q i i 0 , , 6 . The revolute joints are expressed in rad , while the cart displacement joint is expressed in m .
Robotics 11 00079 g008
Figure 9. Cart trajectories attempts along x-axes with respect to the singularity area (light orange) in variational approach with admissible initial guess in (8). The thicker orange line is the trajectory solution of the minimization problem (8).
Figure 9. Cart trajectories attempts along x-axes with respect to the singularity area (light orange) in variational approach with admissible initial guess in (8). The thicker orange line is the trajectory solution of the minimization problem (8).
Robotics 11 00079 g009
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Salvato, E.; Vanzella, W.; Fenu, G.; Pellegrino, F.A. Singularity Avoidance for Cart-Mounted Hand-Guided Collaborative Robots: A Variational Approach. Robotics 2022, 11, 79. https://doi.org/10.3390/robotics11040079

AMA Style

Salvato E, Vanzella W, Fenu G, Pellegrino FA. Singularity Avoidance for Cart-Mounted Hand-Guided Collaborative Robots: A Variational Approach. Robotics. 2022; 11(4):79. https://doi.org/10.3390/robotics11040079

Chicago/Turabian Style

Salvato, Erica, Walter Vanzella, Gianfranco Fenu, and Felice Andrea Pellegrino. 2022. "Singularity Avoidance for Cart-Mounted Hand-Guided Collaborative Robots: A Variational Approach" Robotics 11, no. 4: 79. https://doi.org/10.3390/robotics11040079

APA Style

Salvato, E., Vanzella, W., Fenu, G., & Pellegrino, F. A. (2022). Singularity Avoidance for Cart-Mounted Hand-Guided Collaborative Robots: A Variational Approach. Robotics, 11(4), 79. https://doi.org/10.3390/robotics11040079

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop