1 Introduction

The human hand is the most dexterous and versatile biomechanical device that the human body possesses. This device created by Nature during millions years of evolution represents one of the most distinctive qualities among other animals.

Since the 70 s, important contributions have appeared in physiological studies of the human hand (Kapandji 1970). This is endowed with a high dexterity thanks to its five fingers, numerous tactile sensors, more than 20 independent Degrees of Freedom (DoF), and more than 30 muscles (Ritter and Haschke 2015). Since the evolution of robotic arms and humanoids, several researchers have been developing end-effectors in shape of human hand or human fingers. A good reference of the state of the art of robotic hands is presented in (Bicchi 2000). Moreover, several applications have required under-actuated anthropomorphic robot hands e.g. in interactive humanoids (Paik et al. 2012), applications that are required to control few DoF by means of electromyography (EMG) signals (Yang et al. 2009) and other human interfaces.

However, although humanity has attempted to replicate the function of human hand as prosthesis or as robot manipulator for many years, these are far away from human capabilities (Ritter and Haschke 2015). Simple tasks for a human hand, as those related to factory lines, may require changing specialized robotic hands depending on the given task. This is a widespread approach in factories in spite of the high cost involved (Lee et al. 2017). The versatility of a robotic hand depends on the diverse grasps it can achieve, being grasping a prerequisite for task-dependent manipulation (Deimel and Brock 2016). In this regard, different levels of dexterity and force are required depending on the complexity of the task and the quality of the grasp. In other words, the Number of Fingers (NoF) and DoF could originate limitations in the type of grasp that is required independently of the type of actuators, control strategies and dynamics of the system. Therefore, it is interesting to know the capability of manipulation that a robotic hand can perform in terms of maximum dexterity and quality in the grasp from the geometry point of view between power and precision grasps.

This paper focuses on evaluating several robotic hands from the Gesture Point of View (GPV) that the robotic hand can reach using different kinematic parameters. In other words, the objective is to know in which region the robotic hand can perform tasks between power and precision grasps (Cobos et al. 2010).

There are examples of evaluation of complex human tasks in virtual environments (Molet et al. 1999), workspace analysis of metamorphic hands (Dai et al. 2009), evaluation of ergonomic routines (Jutinico et al. 2018), and experiments of grasp evaluation (Strandberg and Wahlberg 2006). While the level of dexterity required for a given task is known, and methods to evaluate robot performance exist (Strandberg and Wahlberg 2006), the range of values for kinematic parameters of a robotic hand that allow achieving a given level of dexterity is not defined.

The goal of robotic hands with few fingers is to hold objects that allow enough quality in the grasp without deforming or breaking the object. Obviously, this depends on the force produced in the points of contact, sensors and control algorithms. However, these robotic hands have limitations in the type of grasps that they can manipulate. Hence, the level of dexterity increases when the number of fingers and DoF are closer to the kinematic behaviour of the human hand.

There are several examples of robotic hands with different number of DoF, fingers, type of actuators, sensors and so on. 24 different robotic hands with different kinematic parameters are used for the evaluation proposed.

This paper describes a novel evaluation for robotic hands based on a fuzzy logic expert system (FLES) to map from hand features to the level of dexterity. The implementation of this technical approach will be useful to detect some regions that we cannot see in an obvious way due to the non-linearity of some regions of grasps. This challenge is achieved thanks to the interpretation of the fuzzy logic system. The final aim of this system will be assisting (e.g. industrial employees) in the decision of selecting the lowest cost robotic hand (less fingers or DoF) that can perform a given tasks.

This paper is organised as follows. Section 2 describes the types of grasps and robotic hands used in this evaluation. Section 3 describes the fuzzy logic expert system. Section 4 describes a proposed classification according to the level of dexterity of each robotic hand. Finally, our conclusions are presented in Sect. 5.

2 Types of grasps and robotic hands

Different types of grasps can be done depending on the Number of Fingers (NoF), Types of Fingers (ToF) and Points of Contacts (PC) between the object and the rest of links of the hand. These combinations of parameters can produce different types of grasps and different levels of dexterity depending on the combination of parameters.

According to (Cobos et al. 2010), different simplified human hand models can be obtained to perform Circular Grasps (CG), Prismatic Grasps (PG), Precise Prismatic Grasps (PPG) and Precise Circular Grasps (PCG) as shown in Fig. 1.

Fig. 1
figure 1

Types of Grasps: a Circular Grasp; b Prismatic Grasp; c Precise Prismatic Grasp and d Precise Circular Grasp

The difference between these grasps is the use of a thumb finger (normally with 5 DoF) that can produce the opposition with the rest of fingers. The thumb finger in combination with the index and middle fingers can produce high dexterity tasks such as writing or screw a lid on a container. Therefore, in order to produce grasps such as Fig. 1c, d, it is important that a robotic hand possesses a thumb finger similar to the kinematic parameters to a human thumb finger.

2.1 Robotic hands with 2 fingers

Some models are designed using 2 fingers such as RG2 (RG2 Gripper Datasheet 2015), Robotiq 2-fingers 85 (Robotiq 2018) and KG2 (Kinova 2018). These hands have poor levels of dexterity if they are compared with more sophisticated models that have more fingers. However, these models are very useful to manipulate some circular and prismatic grasps. Figure 2 shows and example of this type of hands.

Fig. 2
figure 2

Robotic hand with 2 fingers. Robotiq hand [https://www.flickr.com/photos/untitledexhibitions/33182217152 by untitled exhibitions with license CC BY 2.0 (https://creativecommons.org/licenses/by/2.0/)]

2.2 Robotic hands with 3 fingers

Different robotic hands have been manufactured with 3 fingers such as: Okada (Okada 1982), Stanford/JPL (Salisbury and Roth 1983), UB II (Eusebi et al. 1994), Barrett (Townsend 2000), SARAH (Rubinger et al. 2001), Schunk SDH (Schunk 2018) and High-Speed hand (Namiki et al. 2003). An example of this type of hand is shown in Fig. 3.

Fig. 3
figure 3

Robotic hand with 3 fingers. Barrett hand [Barrett WAM arm (https://www.flickr.com/photos/jiuguangw/6265558050/) by Jiuguang Wang with license CC BY-SA 2.0 (https://creativecommons.org/licenses/by-sa/2.0/)]

2.3 Robotic hands with 4 fingers

Other types of robotic hands that does not consider important to have the little finger are constituted by a thumb finger and other 3 similar fingers such as: Utah/MIT (Jacobsen 1986), DLR I (Butterfass at al. 1998), DLR II (Butterfass et al. 2001), DLR-HIT (Liu et al. 2008), MA-I, and LMS hand (Gazeau et al. 2001). Figure 4 shows an example of this type of hand.

Fig. 4
figure 4

Robotic hand with 4 fingers. DLR-HIT hand [DLR/HIT Hand (https://www.dlr.de/rm/en/desktopdefault.aspx/tabid-9467/16255_read-8918/) by German Aerospace Center with license CC BY 3.0 DE (https://creativecommons.org/licenses/by/3.0/de/deed.en)]

2.4 Robotic hands with 5 fingers

Robotic hands that have the same number of fingers as the human hand are: DIST (Caffaz and Cannata 1998), Belgrade/USC (Bekey et al. 1990), Robonaut (Lovchik and Diftler 1999), Tokyo (Lee and Shimoyama 1999), Tuat/Karlsruhe (Fukaya et al. 2000), Ultralight (Schulz et al. 2001), Gifu (Kawasaki et al. 2001) and Shadow hand (Shadow Robot Company 2018). The differences among these hands are the DoF controlled by each hand and PC. Therefore, the hands that have more similarity to the kinematic behaviour of the human hand can produce Realistic Gestures (RG) and High Precision Gestures (HPG). Figure 5 shows an example.

Fig. 5
figure 5

Robotic hands with 5 fingers. Shadow hand [The Shadow C6M Smart Motor Hand in front of the Shadow C3 Dexterous Air Muscle Hand (http://www.shadowrobot.com/gallery.shtml?gallery=handC6M_2009launch&img=20090818-C6M_holdingLightBulb_frontC3blurred.jpg) by Shadow Robot Company with license CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/)]

2.5 Hand Groups

Five groups are created for the experiments used in the fuzzy logic system according to the NoF of each hand. Table 1 shows the Hand Groups.

Table 1 Hand groups

3 Fuzzy logic expert system

Fuzzy logic has been successfully used in different engineering areas such as renewable energy (Farhane 2017) or computer security (Harish 2017). In the robotic field, fuzzy logic expert systems have been applied for different objectives such as robot navigation (Barai and Nonami 2008; Seraji and Howard 2002), tracking and set point control of robot manipulators (Fateh 2010) or selection of robots for a specific application (Parameshwaran et al. 2015). The growing popularity of these systems is because they allow approximating reasoning in uncertain environments in a simple and inexpensive way, reducing the mathematical complexity required. When designing fuzzy systems, the knowledge from domain experts takes precedence over mathematical models. Therefore, fuzzy modelling can be applied when knowledge of expert is significant enough to define the objective function and decision variables (Jaya et al. 2010).

Since determining the mapping from the different features of robotic hands to a level of dexterity is not an easy task and there are not clear categories of involved variables, we have designed a fuzzy expert system to map from hand features to the level of dexterity. The design process is described in next section, while the resulting fuzzy expert system is detailed in the subsequent ones.

3.1 Methods

The fuzzy expert system involves three main phases: fuzzification, inference and defuzzification. Inputs to the system are crisp values and they are fuzzified in the first stage, that is, the crisp numeric values are mapped to linguistic labels in a certain degree. During inference, a set of rules embodying linguistic reasoning are applied to produce an output fuzzy set, which is converted into a crisp value during defuzzification. The design of the fuzzy expert system includes the following tasks (Kor et al. 2010):

  • Selection of the membership functions for the input and output variables.

  • Design of the fuzzy rules base.

  • Design of the inference engine.

  • Selection of the defuzzification method that converts the fuzzy output into a crisp number.

The knowledge of a human expert should be reflected accurately in the expert system during this design process (Kor et al. 2010). Therefore, we, as human experts, applied our knowledge to define membership functions of input and output variables and fuzzy rules, and these were experimentally adjusted according to the desired output indicated also by human experts.

As previous step to define the membership functions, we established the ranges of input parameters and output. Then, in terms of fuzzy components, we defined the fuzzy membership functions, which determine the degree of membership to the different fuzzy sets for each input value. Each fuzzy set corresponds to a linguistic value that represents a natural language meaning. Starting from an intuitive uniform definition of membership functions, we empirically adjusted them. The refinement of these initial fuzzy sets was done at the same time of that of the initial rules base. During trials, when an inaccurate area was identified at the output, more granularity of input and output fuzzy sets was established to improve the performance of the system. This implied a higher number of rules in the rules database. While having more rules implies increasing accuracy, it also may decrease interpretability of the system (Waldock and Carse 2016). Therefore, trying to keep trade-off between accuracy and interpretability, the design process was incremental, adding rules as required by accuracy.

Regarding the design of the inference engine, the system uses the Mamdani inference method. The Mamdani model is expressive with fuzzy consequents of rules, which are interpretable and simple (Masmoudi et al. 2016). The methods for the inference process were selected experimentally, according to the desired output. These methods include the fuzzy operator AND in the antecedent of rules, the implication and the aggregation methods. The inputs of the operator AND are the membership values of fuzzified input variables and the output is a number representing the truth value of the antecedent. This truth value is the input of the implication method whose output is a fuzzy set in the consequence. Then the aggregation method is used to combine all the output fuzzy sets of activated rules. In the last phase, the aggregated output fuzzy set is converted into a numeric value applying the defuzzification method, also selected experimentally.

3.2 Membership functions for input and output variables

The Contacts or PC corresponds to the maximum number of points that are in contact between the object and the links. For example if we consider four fingers with 3 links, 1 thumb finger with 2 links and a palm as 1 link; the maximum PC will be 15. Therefore, for our mathematical approach, this variable is considered as a maximum value of 20. Regarding the DoF, if we consider 5 fingers with 5 DoF and 3 rotations in the wrist, the maximum number of DoF will be 28. Therefore, for our mathematical approach, this variable is considered as a maximum value of 30. Moreover, the range of HandGroups are from 2 to 5, according to Table 1. In summary, the three input variables of the system are:

  • Contacts, which ranges from 1 to 20.

  • Degrees of Freedom (DoF), which ranges from 1 to 30.

  • HandGroups, which ranges from 2 to 5.

The output variable of the system is the level of dexterity (LevelOfDextery), which ranges from 0 to 1. This means that the system is mapping from a 3 dimensional vector to a value.

Figure 6 shows the range, shape and linguistic value for each membership function for input and output variables. As above mentioned, each fuzzy set corresponds to a linguistic value that represents a natural language meaning. For example, for variable contacts we have a fuzzy set ranging from 1 to 4.8 labelled as VFC (Very Few Contacts), representing the cases in which typically the number of contacts would be considered as very few, while there is a fuzzy set named AC (Accurate Contacts) that represents the number of contacts around 16 that typically corresponds to a common number.

Fig. 6
figure 6

a Membership functions for Contacts parameter (VFC Very Few Contacts, FC Few Contacts, EC Enough Contacts, NC Normal Contacts, AC Adequate Contacts, MNC More than Needed Contacts). b Membership function for Degrees of Freedom (DoF) parameter (CG Circular Grasp, PG Prismatic Grasp, PPG Precise Prismatic Grasp, RG Realistic Gestures, HPG High Precision Gestures). c Membership function for HandGroups parameter (GroupI = two fingers, GroupII = three fingers, GroupIII = four fingers, GroupIV = five fingers). d Membership function for output level of dexterity

As shown in Fig. 6, the system combines trapezoidal and triangular membership functions, which are commonly used in fuzzy systems (Adnan et al. 2015; Benamina et al. 2018; Cueva-Fernandez et al. 2016) because they are easy to implement in a computer program (Kor et al. 2010; Taibi 2017).

Some fuzzy sets follow the original shape, based on the uniform definition initially established, as those in Fig. 6a, but some others do not. In fact, although the uniform discretization of universe of discourse of input values is a common practice, the optimal partition is usually irregular (Jakovljevic et al. 2014), as we found with DoF parameters (See Fig. 6b). As previously explained, during trials, when an inaccurate area was identified, more granularity of input and output fuzzy sets was established. For example, to achieve higher precision, a fuzzy set for prismatic grasp was divided in two fuzzy sets (see Fig. 6b): one labelled as PG (Prismatic Grasp) and the second, corresponding to higher values of DoF, labelled as PPG (Precise Prismatic Grasp). The fuzzy set PPG is considered in this experiment as the same fuzzy set for Precise Circular Grasp (PCG) due that the same number of DoF can achieve this grasp.

3.3 Fuzzy rules

Increasing the number of fuzzy sets and the corresponding linguistic values implies more specific fuzzy rules. The rule base is composed of “IF THEN” rules that use linguistic values, corresponding to the defined fuzzy sets, in antecedent and consequent.

For example, the rule base of the proposed system contains the following rules:

IF (HandGroups is GroupI) and (DoF is PG) and (Contacts is VFC) then (LevelOfDextery is Poor).

IF (HandGroups is GroupII) and (DoF is PPG) and (Contacts is EC) the (LevelOfDextery is High).

As appreciated in Fig. 6, HandsGroups is a variable that behaves as a crisp variable. Possible crisp input values for that variable are 2, 3, 4 and 5 (representing fingers), corresponding to linguistic values GroupI, GroupII, GroupIII and GroupIV respectively. Figure 7 shows the FAM (Fuzzy Associative Memory) corresponding to the fuzzy rules defined for each of these groups. Cells in the FAM indicate the linguistic value in the consequent of the rule whose antecedents match the linguistic values indicated in the column and row heading of the cell.

Fig. 7
figure 7

Fuzzy associative memory of the expert system for the different groups of hands

3.4 Inference process

The system uses the Mamdani inference method to obtain the output fuzzy sets, and the following methods selected experimentally: PROD method to implement fuzzy logic operation AND in the antecedents of the rules; MIN as implication method, to scale the membership function of the output based on the truth degree of the antecedent; and MAX method to aggregate the fuzzy outputs of all activated rules (see Fig. 8), which is generally used for accumulation (Benamina et al. 2018). Last, Centre of Gravity (CoG) method is applied in the defuzzification phase to obtain a crisp representative output value from the fuzzy output obtained in previous phase. This method gives more accurate results than others (Jaya et al. 2010). This commonly used method gives smoothly varying output for gradually varying input values.

Fig. 8
figure 8

Fuzzy inference of the level of dexterity for inputs values HandGroups = 4, DoF = 12 and Contacts = 13

Figure 9 shows the numeric output of the system for the different values of input variables for the different groups of hands (HandGroups). Notice that the flat surface matching with Level of Dexterity of 0.5 corresponds to not defined cases in which the combination HandGroups-DoF-Contacts never happens.

Fig. 9
figure 9

Output of the fuzzy expert system for the different values of HandGroups

4 Classification according to a level of dexterity

Table 2 shows the output of the FLES for the different robotic hands (Level of Dexterity column). Although the system uses seven linguistic values for Level of Dexterity (LoD) to increase accuracy in the crisp output, we propose a final classification in five groups according to LoD for simplicity. Therefore, the robotic hands are classified in five groups according to the numeric output value of LoD from a normalized range from 0 to 1.

Table 2 Kinematic Parameters and Classification of robotic hands (*Underactuated system with two actuators and ten DoF)

Five categories are proposed as follows: poor dexterity (PD), insufficient dexterity (ID), acceptable dexterity (AD), good dexterity (GD) and very good dexterity (VGD).

In order to discriminate the previous groups, the normalized range is divided in 5 ranges:

  • Values from 0 to 0.2 belong to the category PD.

  • Values from 0.21 to 0.4 belong to the category ID.

  • Values from 0.41 to 0.6 belong to the category AD.

  • Values from 0.61 to 0.8 belong to the category of GD.

  • Values from 0.81 to 1 belong to the category VGD.

The previous discrimination is useful to identify the range of output that a robotic hand can generate regarding the LoD that the FLES system is producing. Thus, this classification can be used in intelligent algorithms that need to select a robotic hand from a set of different models according to the type of grasp and manipulation required.

Table 2 shows the Classification of the robotic hands used in this paper. These hands are classified according to the LoD and the discrimination of groups proposed.

5 Conclusions

This paper presents a Fuzzy Logic Expert System that can generate different levels of dexterity depending on three parameters: Hand Groups, PC and DoFs. This information could be used in several applications that require selecting a robotic hand for performing particular manipulations in which the level of dexterity could be estimated according the type of object and manipulation required.

Software for manufacturing industry is seen as the new industrial revolution (Molano et al. 2018). As an example of application, in this new industry 4.0, a smart factory could have a vision system or intelligent sensors and several processes that require the use of different manipulations for producing different products. Also, different intelligent algorithms that analyse the information can estimate the level of dexterity needed for the local process (e.g. handing a bottle that corresponds to a circular grasp).

Therefore, if the level of dexterity is known, Table 2 can be used for selecting the best robotic hand. On the contrary, if the user knows the three parameters, the expert system proposed can generate the maximum level of dexterity that the hand can produce and therefore the type of manipulation.

Moreover, the results of Table 2 are important because suggest that robotic hands with five fingers such as Ultralight, Tokyo and Robonaut can be in the category of good dexterity; therefore, it is not important to have five fingers if the number of DoF are low or less than 13.

Other examples of five fingers are the Belgrade/USC hand with four DoF and the Tuat/Karlsruhe hand with one DoF that both of them are in the same category of dexterity and in this case can perform only power grasps. As the results show, it is not necessary to have robotic hands with five fingers if the number of controlled DoF are less because it does not help to increase the LoD.

The LoD and precision in the manipulation is increasing regarding the increment of actuators that can control directly more joints. However, the cost for producing robotic hands is increasing due to the increment of actuators and mechatronic elements.

In addition, it is worth to point out a good example with three fingers as the model UB II that is in the same category than robotic hands with four fingers as the model DLR Hit II. This information is useful because it minimises the costs of robotic hand, reducing the number of actuators to manipulate the same task if compared with other robotic hands with four fingers.

Finally, our future work will consist in implementing different robotic hands in a virtual simulator for testing more variability of robotic hands in order to produce a more robust system according to the capabilities of the types of grasps that a candidate robotic hand can perform.