1. Introduction
Nowadays, industrial practices are moving towards improvements in automation processes, especially in flexibility and tasks like picking and placing randomly laid objects in space or manufacturing without safety barriers [
1]. Those tasks, among others, have the particularity of sharing the workspace with one or several human beings. Human–robot interaction or collaboration (HRI/HRC) has been classified based on tasks and objects [
2,
3]. Handover and assembly tasks obtain a sequential and a simultaneous grade, respectively [
4]. Collaboration tasks have a supportive level [
5], focused on symbiotic direct human and robot interaction, considering interference not only over objects, but also into the robot itself [
6]. All previous tasks are important because robots need to have manipulation capabilities and some of them have been solved at certain degree. In the present day, the main issue is to perform this kind of task through an HRC approach. A co-manipulation task, where two agents carry an object, is the most common example. This task creates several problems in the field of study of collaboration [
7,
8].
Some studies cover certain aspects of HRC. In [
9,
10], researchers implemented force/ impedance controllers for task planning, taking into account human fatigue through muscle-activity sensors. Researchers [
11,
12] focus on the HRC object-lifting problem scenario, using a collaborative quality-impedance controller. It perceives human movement without considering any previous grasp planning or algorithm. That results in a safe and logical human hands/robot gripper position. Tariq et al. [
13] focused more on the grasp itself. Based on the object’s wrench space load distribution, the position and orientation of the robot’s gripper is calculated without considering inertial forces, which appear in the subsequent lifting process.
Now, grasp planning tries to solve for the pose and motion of robots knowing the geometry of objects, in order to find a feasible grasp [
14,
15,
16,
17]. Many HRC-related articles discuss this situation. For instance, in [
18], the robot behaves as a deliverer to the human, considering comfort and stability. On the other hand, in [
19], they propose an algorithm that allows the robot to know the human worker’s hand position using 3D sensors, hence finding a constant and safe boundary feedback for the assembly task.
Grasp planning is a field of study that commonly focuses on convex objects that a single robot can grasp [
20]; its purpose is to either find the greatest stability [
21] or optimize grasp force on the robot’s contact points [
22,
23]. To evaluate how good the robot’s grasp is, there are metrics that give a refined grasp quantitative value [
24]. Those metrics are fed to the multi-finger manipulator considering the contact points between the manipulator and the object [
25]. A couple of them examine geometric-based strategies between all contact points, also called grasp polygon and the object. Grasping strategies have been extensively studied in the last decade, considering more than two grasping points on the object. Li et al. [
26] evaluated grasp strategies under the force-closure concept in wrench space, optimizing the force to obtain a secure grasp. Similarly, Chen et al. [
27] sought to optimize grasp forces based on penalty functions to restrict torque in the joints using friction-cone models. On the other hand, Li et al. [
28] restrict the motion of an object through form closure for four points of contact. These forms of grasp are closely related to the most common metrics used to evaluate the reliability of a grasp, summarized in [
25]. Previous studies only consider a single manipulator which cannot handle grasp for big objects or to accomplish more complex tasks that require collaboration and many of these tasks need to be performed along with humans. Our approach tries to relate the mentioned metrics to the HRC problem.
Co-manipulation, within an HRC context, shares object and tasks between humans and robots in order to properly execute them. Peternel et al. [
29] and Anvaripour et al. [
30] studied co-manipulation processes where the controllers for the robot have a sensory feedback that allows the robot to know how much force and fatigue the human being is experimenting when performing the movement. Mujica et al. [
11] and Zeng et al. [
12] used impedance control approaches in the robot to sense the movement made by the human. Also, studies [
31,
32] focused on moving the object based on learning and showing the path with machine-learning algorithms. These works do not consider if the points where the robot is grasping are suitable for the task.
In an HRC grasp, a human provides flexibility and the robot offers consistency. Therefore, it is essential for the robot to know the grasp position on a shared object. In [
13], they use a grasping analysis that defines the co-manipulation task as an expected external wrench that acts on the target object. They make an interesting approach taking into account the wrench space of the object manipulated by two agents; however, it is important to consider the uncertainty of the subsequent movement of the object. Then, the purpose of this research is to give a solution for the issue of finding a suitable grasp on the object for HRC manipulation tasks.
In order to do so, research takes the fingertip-contact-point concept into the field of human–robot collaboration, assuming three contact points: two because of human hands behaving like a contact point each and the final grasp point for the robot’s gripper. Knowing the two human grasp points, we then look to generate a grasp in order to perform a manipulation task, to complete an optimal human–robot grasping (
Figure 1). Thus, the main objective of this research is generating a grasp-planning algorithm which tells the robot what point it needs to grasp over any object, knowing in advance the current position of the human’s hands. This is done using form-closure metrics-based grasping [
33]. This research used the grasp-polygon-area concept to avoid external disturbances. Furthermore, it used the distance from the grasp-polygon centroid to the object’s center of mass to provide stability, as explained in [
34,
35]. A third metric is developed by the authors, that is, considering inertial forces that might appear in a subsequent motion of the object after grasping it.
The grasp-planner problem has been implemented as a multi-objective optimization one. To validate our algorithm and evaluate its behavior, we contrasted different heuristic optimization methods used for multi-objective (MO) problems [
36]. There is an infinite number of methods which, depending on the problem context or the variable nature, can be applied to optimize any process. Multi-objective gray wolf optimizer (MOGWO), non-dominated sorting genetic algorithm II (NSGA-II) and multi-objective particle swarm optimization (MOPSO) [
36] are the methods that we considered because of their similar characteristics, easy implementation and their common use [
37,
38,
39,
40]. In addition, there are many indicators that allow the performance evaluation of any MO optimization algorithm. In [
41,
42], most common indicators are explained in detail; in the following sections, we highlight for our research the convergence indicator Generational Distance (GD) and the spread indicator Spacing (SP).
This article is organized as follows: In
Section 2, the metrics used are explained. The explanation of each optimization algorithm and the selection of the most suited is presented in
Section 3. The grasp-planner results and analysis are presented in
Section 4. Finally, conclusions, contributions and future works are reported in
Section 5.
3. Multi-Objective Optimization
We know the grasp position of the human’s hands (
,
); now the robot must find its grasp point on the object (
). For this purpose, we use the metrics described in
Section 2 as optimization functions; i.e., they seek to optimize the grasp point
that achieves the best results for each and every metric, resulting in a multi-objective (MO) problem.
To solve this MO problem, we selected one of several metaheuristic optimization algorithms, based on the Pareto-front concept as a decision parameter. Pareto front is the theoretical optimal solution set of any MO characteristic problem where each solution is non-dominated compared to the others; i.e., MO results in more than one possible optimal solution.
NSGA-II, MOPSO and MOGWO algorithms will be described briefly for better understanding. NSGA-II uses the behavior of Darwin’s principle of evolution to select the best population generation to generation, applying the concepts of mutation and natural selection until finding or being near to the theoretical solution. MOPSO is the social behaviour simulation of bee swarms or bird flocks called particles where each particle moves around the search-space under the influence of its own best position and the movement direction of the other particles (swarm global best position). After some iterations, the swarm gathers around the same or several zones, i.e., near to the theoretical Pareto front, according to a few metaheuristic formulas (
Table A1). In a similar way, MOGWO is based on the behaviour of wolf pack trying to hunt prey. MOGWO uses a social-hierarchy system where all wolves follow the position of their alpha, beta and delta wolves, called the leadership group, and simulate a hunting mechanism where groups of wolves separate the prey for the herd and one wolf attacks it.
Setting parameters for MO algorithms are discussed in some researches [
43,
44,
45,
46]. The size of the population and the number of generations/iterations are set to 100 and 20 runs for all the test functions. In the NSGA-II algorithm, the selection percentage is set to 50% and the mutation percentage is set to 1%. For the MOPSO algorithm,
=
= 2 and the inertia weight
w decreases from
= 0.9 to
= 0.4. Lastly, for both MOPSO and MOGWO algorithms,
and
are random values between 0 and 1.
We need to evaluate the performance of each algorithm in order to select the best one for grasp planning. For this, we focused on three criteria: Generational Distance (GD), Spacing (SP) and computational time. GD establishes how close it is or how much convergence exists between the solution set output for a specific problem with respect to the theoretical solution or the theoretical Pareto front. This indicator is dimensionless and it indicates that the optimization algorithm has a better convergence if this indicator is closer to zero. Therefore, GD will help us indicate which of the optimization algorithms could obtain a better set of optimal solutions and then we could use this algorithm in our grasp planner, where we do not known the theoretical optimal solution. Also, SP is a dimensionless indicator which shows how much spread or distribution exists throughout the solution set, calculating the distance between each solution and its other closest solution. One or several solutions can be far from each other, increasing the value of SP, i.e., worsening the distribution and creating subsets of solutions; then SP is better if it is closer to 0. This indicator is chosen because it will allow our planner to obtain more than one position for the robot in case one is not reachable. Finally, computational time is critical for practical implementation where smaller values are desirable.
As mentioned before, we need to use well-known problems (test functions) [
43,
44] in order to evaluate the performance of these metaheuristic algorithms. Some common testing functions are Schaffer (SCH) [
47], Kursawe (KUR) [
48], Fonseca (FON) [
49], ZTD1 and ZTD6 [
50]. These testing functions allow one to evaluate the most common characteristics of optimization algorithms such as convergence, robustness, etc. [
51,
52]. Since each of the theoretical Pareto fronts of each function is known, it is possible to calculate SP and GD and graphically corroborate them.
Table A2 summarizes the most common test functions used. But so far, there are no standard problems to evaluate the performance of HRC grasp planners.
Mean-value results for SP are shown in
Table 1 (See
Table A3 for complete statistics). MOPSO has the best average for all test functions except for SCH, where the result is slightly better than GWO. As can be seen in
Table 1, MOPSO has the best distribution and propagation of solutions, which does not mean that NSGA-II and GWO are useless, but in the context of this research, MOPSO will allow finding more than one grasping solution.
Table 2 shows the mean-value results for GD (see
Table A4 for complete statistics). MOPSO has the best average for this indicator in all functions except for ZTD1 where MOGWO is the best. Equally, the worst average among all of them is NSGA-II, excluding ZTD6 where it is slightly better than MOGWO, but not more than MOPSO.
Table 2 shows that MOPSO will generate solutions that are much closer to the theoretical Pareto front; therefore, points of the manipulator solution set will converge as well as possible.
More data to analyze are presented in
Table 3. A computational time summary of the algorithms is presented. This test used a computer with AMD Ryzen 7, 4800H @ 2.90 GHz processor, 16 GB RAM, and Windows 10 operating system. This index shows that MOPSO has the best speed execution of all the test functions.
The indicators showed MOPSO as the best performance in convergence and dispersion of the solutions.
Figure 5,
Figure 6 and
Figure 7 are related with GD and SP indicators and show the theorical Pareto front against a real solution set for the functions SCH, FON and ZTD6.
and
are the functions of each test function delimited as in
Table A2. Red points represent a theoretical solution set and the other different color points are the solution set for each tested algorithm. MOGWO and MOPSO have similar behaviours where both of them seem to be very close to the Pareto front with a little better convergence for MOPSO, supporting GD mean values of
Table 2, and the same can be concluded for SP mean values because spread or distribution is very good and is similar for both.
Also,
Figure 6 and
Figure 7 present the great behavior of MOPSO both in convergence and in spread uniformity of the solution set in FON and ZTD6 functions, where its dominance is evident with respect to NSGA-II and MOGWO as shown in GD and SP values.
Based on previous results, we conclude that MOPSO seems to be more suitable for this kind of problem and we will use it as the optimizer for our grasp planner in order to have good spread solutions closest to theoretical optimal positions.
5. Conclusions
In this research, an algorithm used to find grasp points for the robot on an object in a collaborative human–robot grasping scenario was developed. The experiments show not only optimized results for grasp points, but also that they are in an optimal grasp zone, giving the robot flexibility in case more than one grasping option is required, if any point cannot be reached or causes a collision with the object or the robot itself.
We used a combination of metrics because we aim to have a grasp fulfilling stability and resistance to external disturbances. The need to take this problem as an MO optimization was demonstrated by running grasping situations with each metric individually, over common objects between two HRC agents, comparing effects in an individual and merging evaluations of the metrics. Also, an extra grasp-planner metric was created and implemented via a heuristic algorithm, based on inertial intrinsic forces in the subsequent movement of the grasped object between human and robot agents.
The input point set for grasp-planner can be improved using strategies to generate a more coherent points. For this research, the points where it was possible to grasp the object were taken to certain distance for the surface of the object. Point-cloud generation could be a complementary topic to further the study of this algorithm’s behavior on more complex objects. Better approaches related to force-closure-grasp-quality metrics can be added to the algorithm.
For future work, we will consider in the solution the robot’s relative configuration with respect to the object, obtaining not only a grasping point, but also a grasping frame, giving position and orientation for the robot’s gripper.