Didier Bernard
email: didier.bernard@univ-antilles.fr

Emmanuel Biabiany

Naoufal Sekkat

Romual Chery

Raphaël Cécé

Sargassum proliferation in the Western Atlantic: What impacts and results for the French West Indies ?

INTRODUCTION

In 2018, in the French West Indies (AF), the massive influxes and strandings of sargassum were unprecedented: dozens of bays were filled in a few hours. A new regional phenomenon, whose origin is not completely scientifically elucidated.

These strandings result in high biomass accumulations, leaving the authorities without immediate responses with undersized means in view of the large of the ecological and socio-economic damages induced.

At large scale, the main currents are [START_REF] Fratantoni | The Evolution and Demise of North Brazil Current Rings[END_REF]:

•The North Atlantic Equatorial Current (NC) from the Atlantic, •The North Brazil Current (NBC) induced by the South Equatorial Current (SEC).

The NBC splits in two currents: the Guyana current (GC) along the shelf , and the North Equatorial Countercurrent (NECC). The current rings of about a hundred kilometers in diameter generated by the retroflexion of the NBC.

SURFACE OCEANIC CIRCULATIONS IN THE STUDIED AREA: IMPACTS OF AMAZON RIVER?

SATELLITE DETECTION

TEMPORAL VARIABILITY Inter-annual variability :

In the French Antilles, strandings are grouped over 8 to 10 successive years [START_REF]Direction de l'environnement de l'aménagement et du Logement[END_REF].

Annual variability :

The episodes increase in number and intensity from March onwards, peak in May-June and decrease drastically in September.

MULTISCALE DETECTION OF SARGASSUM DISTRIBUTION: SATELLITES AND NUMERICAL MODELS

NEW PROPOSAL: DETECTION OF ATTRACTORS BY CLUSTERING

To explore the sensitivity of daily outputs giving surface current velocities and find recurrent patterns we will use unsupervised learning methods: K-means and CAH algorithms. The goal is to find similar spatio-temporal fields into k clusters using the Euclidean distance for K-means and the Ward method for CAH respectively.

Clustering entry matrix : 154 daily observations of strandings, 29 May 2017 to 15 March 2019 [START_REF]Direction de l'environnement de l'aménagement et du Logement[END_REF], 14,279 components or meshes containing u,v, surface ocean current. Daily and global operational ocean forecast outputs of the PSY4V3R1 Mercator analysis system, at 1/12° in 3D, which integrates version 3.1 of the NE-MO ocean model, with some bias reduction [START_REF] Lellouche | Evaluation of global monitoring and forecasting systems at Mercator Océan[END_REF]. Data include assimilation from both multi-instrument in situ observations and satellite remote sensing observations, Average time fields for the currents using components U and V of (depth of 50 cm).

HEALTH IMPACTS

Nuisances [START_REF]Direction de l'environnement de l'aménagement et du Logement[END_REF] : hydrogen sulfide (H2S), ammonia, dimethyl sulfide and mercaptan.

Level for populations:

• Olfactory discomfort for 0.2-0.3 ppm,

• Temporary health problems for 20-30 ppm or continuous exposure of 5 ppm for 24 hours, Corrosion of metals.

Chronic exposure, unknown health impacts with a deterioration in quality of life during mass strandings.

RISKS CASES OF A CRISIS YEAR: ESTIMATED VOLUMES [6,10]

• Crisis year: >=15 strandings/year or 6,000 m 3 per day to be collected in the stakes zone.

• Incorrect estimation of the volumes of Sargassum to be collected, linked to the diversity of stranding conditions, the state of the algae and the plurality of stakeholders.

• Estimated annual total : 500,000 m 3 or 80 to 85 collection days per year.

• Reduced attractiveness and tourist activities,

• Obstacle to artisanal activities (fishing, cabotage, shipbuilding...),

• Declarative acts but few indicators for estimating financial losses. Crisis management costs in a : €10 million.

CONCLUSION

Improve and complete methods for detecting and modelling the arrival and stranding of sargassum (small-scale modelling). Few effective collection and processing actions that will have to evolve and be selected on the basis of technical, economic and environmental criteria to reduce impacts (human health...). Include the risk of sargassum strandings and scenarios with successive steps, in a plan to prevent foreseeable natural hazards.

Figure 1 :

 1 Figure 1 : Sargassum sightings in Guadeloupe Island (French Antilles), from helicopter survey on 22th May 2015 (Photos courtesy of F. Mazéas). 1-5: Guadeloupe. 6: Désirade. 7: Marie Galante. 8-9 Les Saintes [1].

Figure 6

 6 shows observations of strandings during four years, with high intensities in 2015, 2018 and low intensities in 2014, 2016-17.

Figure 7 :

 7 Figure 7 : Monthly number of strandings, left for 2017-2019 and right for 2018.

Figure 9 :

 9 Figure 9 : Numerical forecasts of strandings (red points) calculated according to cluster type and offshore sources (green points).

Figure 8 :

 8 Figure 8 : Recurrent stranding sites observed since 2014-2015 [9].

Figure 3 :

 3 Figure 3: Satellite image and surface currents of the hycom hybrid ocean model.

Figure 4 :

 4 Figure 4 : Map from the monitoring and forecasting bulletin for the stranding of pelagic "Sargassum" pelagic species, Guadeloupe.

Figure 5 :

 5 Figure 5 : Six spatio-temporal fields of typical currentological situations lead to massive stranding on the eastern Caribbean coasts.

Figure 11 :

 11 Figure 11 : Example of Obstruction of the fishing port of Terre de bas, les Saintes (2016).

Figure 2 :Figure 6 :

 26 Figure 2 : Studied area

Figure 10 :

 10 Figure 10 : Sargassum collection by the municipalities

Table 1 :

 1 The table shows the four satellite sensors that are currently used in Sargassum Watch System (SaWS), with the first three sharing similar characteristics.

PICK-UP COLLECTION DYE PENETRANT m 3 /j m 3 /j m 3 /j CRISIS YEAR GUADELOUPE MARTINIQUE 6 900 6 000 345 000 300 000 113 850 99 000 INTERMEDIATE YEAR GUADELOUPE MARTINIQUE 6 900 6 000 69 000 60 000 22 770 19 800 PICK-UP TRANSPORT TREATEMENT TOTAL COST k€ k€ k€ k€ CRISIS YEAR GUADELOUPE MARTINIQUE 5 934 8 100 586 495 646 87 7.166 8.682 INTERMEDIATE YEAR GUADELOUPE MARTINIQUE 1 505 1 740 114 99 228 10 1.847 1.849 SOCIO-ECONOMIC IMPACTS Fluctuating phe- nomenon difficult to predict needing scenarios with suc- cessive steps


Laszlo Szathmary
email: szathmary.l@gmail.com

Petko Valtchev
email: valtchev.petko@uqam.ca

Amedeo Napoli
email: napoli@loria.fr

Efficient Vertical Mining of Frequent Closed Itemsets and Generators

The effective construction of many association rule bases require the computation of both frequent closed and frequent generator itemsets (FCIs/FGs). However, these two tasks are rarely combined. Most of the existing solutions apply levelwise breadth-first traversal, though depth-first traversal is knowingly superior. Hence, we address here the depth-first FCI/FG-mining. The proposed algorithm, Touch, deals with both tasks separately, i.e., uses a well-known vertical method, Charm, to extract FCIs and a novel one called Talky-G, to extract FGs. The respective outputs are matched in a post-processing step. Experimental results indicate that Touch is highly efficient and outperforms its levelwise competitors.

Introduction

The discovery of meaningful associations is a key data mining discipline [START_REF] Agrawal | Fast Algorithms for Mining Association Rules in Large Databases[END_REF]. An association miner typically proceeds in two steps: (i) extract all frequent patterns X of a database, and (ii) break each X into a premise Y , and a conclusion X \Y parts to form a rule Y → X \ Y . Interestingness measures, such as support and confidence, are applied to prune the set of extracted association rules. However, the number of the remaining rules may still be way too high to be practical. As a remedy, various concise representations of the family of valid association rules have been proposed [START_REF] Bastide | Mining Minimal Non-Redundant Association Rules Using Frequent Closed Itemsets[END_REF][START_REF] Kryszkiewicz | Representative Association Rules[END_REF][START_REF] Pasquier | Closed set based discovery of small covers for association rules[END_REF], whereas others have been imported from related fields such as concept analysis [START_REF] Duquenne | Contextual implications between attributes and some representational properties for finite lattices[END_REF][START_REF] Luxenburger | Implications partielles dans un contexte[END_REF]. A good survey can be found in [START_REF] Kryszkiewicz | Concise Representations of Association Rules[END_REF].

Here we focus on the computation of FCIs and FGs, on which are based the minimal non-redundant association rules (MN R) for instance. Following [START_REF] Bastide | Mining Minimal Non-Redundant Association Rules Using Frequent Closed Itemsets[END_REF], these are rules with the form P → Q \ P , where P ⊂ Q, P is a (minimal) generator (a.k.a. key-sets or free-sets) and Q is a closed itemset. In other terms, in such rules the premise is minimal and the conclusion is maximal. As shown in [START_REF] Kryszkiewicz | Concise Representations of Association Rules[END_REF], MN R is a lossless, sound, and informative representation of all valid rules. Moreover, further restrictions can be imposed on the rules in MN R, leading to more compact representations such as the generic basis or the proper basis (see [START_REF] Kryszkiewicz | Concise Representations of Association Rules[END_REF] for a complete list).

From a computational point of view, constructing MN R or its sub-structures requires the family of frequent closed itemsets (FCIs) and their generators (FGs), and possibly the precedence order between FCIs. A few methods for extracting both FCIs and FGs have been published in the mining literature, e.g. A-Close [START_REF] Pasquier | Discovering frequent closed itemsets for association rules[END_REF] or Titanic [START_REF] Stumme | Computing Iceberg Concept Lattices with TITANIC[END_REF]. Generators have been targeted within the concept analysis field as well [START_REF] Valtchev | Formal Concept Analysis for Knowledge Discovery and Data Mining: The New Challenges[END_REF], e.g. by the Zart algorithm [START_REF] Szathmary | ZART: A Multifunctional Itemset Mining Algorithm[END_REF]. Well-known FCI/FG-miners exclusively apply levelwise strategies, although the levelwise itemset miners are knowingly outperformed by depth-first methods (e.g. Charm [START_REF] Zaki | CHARM: An Efficient Algorithm for Closed Itemset Mining[END_REF] and Closet [START_REF] Pei | CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets[END_REF]) on a broad range of dataset profiles, especially on dense ones. Hence the idea of designing a depth-first FCI/FG-miner. The presented algorithm called Touch splits the FCI/FG-mining task into its components and solves them separately. The first one by applying Charm and the second one through an original method for FG-mining, the Talky-G algorithm. In an efficient post-processing step, Touch associates the FGs to their respective FCIs, thus providing the necessary starting point for the production of MN R. Experimental results show that Touch outperforms two other efficient competitors, A-Close [START_REF] Pasquier | Discovering frequent closed itemsets for association rules[END_REF] and Zart [START_REF] Szathmary | ZART: A Multifunctional Itemset Mining Algorithm[END_REF], especially on dense and highly correlated datasets. Thus, the contributions of our study lay mainly in the design of an efficient method, Touch, for constructing the aforementioned rule bases. Additionally, Talky-G is a stand-alone algorithm for extracting FGs.

The paper is organized as follows. Section 2 provides the basic concepts of frequent itemset mining. In Section 3, we give an overview of vertical depthfirst algorithms such as Eclat and Charm. In Section 4, we introduce a new FG-miner algorithm called Talky-G. The Touch algorithm that combines the results of Charm and Talky-G is introduced in Section 5. Finally, conclusions and future work are discussed in Section 6.

Basic Concepts

Consider the following 5 × 5 sample dataset: D = {(1, ACDE), (2, ABCDE), (3, AB), (4, D), (5, B)}. Throughout the paper, we will refer to this example as "dataset D".

We consider a set of objects or transactions O = {o 1 , o 2 , . . . , o m }, a set of attributes or items A = {a 1 , a 2 , . . . , a n }, and a relation R ⊆ O × A. A set of items is called an itemset. Each transaction has a unique identifier (tid), and a set of transactions is called a tidset. 3 For an itemset X, we denote its corresponding tidset, often called its image, as t(X). For instance, in dataset D, the image of AB is 23 (t(AB) = 23). Conversely, i(Y ) is the itemset corresponding to a tidset Y . The length of an itemset is its cardinality, whereas an itemset of length i is called an i-itemset. The (absolute) support of an itemset X, denoted by supp(X), is the size of its image, i.e. supp(X) = |t(X)|. The image function induces an equivalence relation on the power-set of items ℘(A): two itemsets are equivalent if they share the same image (X ∼ = Z iff t(X) = t(Z)) [START_REF] Bastide | Mining frequent patterns with counting inference[END_REF]. Furthermore, within an equivalence class, its extremal elements w.r.t. set inclusion are distinguished: the unique maximum is called closed itemset, whereas the minima are generator itemsets. In what follows, we provide the support-oriented definitions exploiting the monotony of support upon set inclusion in ℘(A).

Definition 1 (generator). An itemset G is called generator if no proper subset thereof has the same support (∀H ⊂ G, supp(H) > supp(G)).

For instance, the sets AB and AD are generators in dataset D. Generators are also known as key-sets in database theory and represent a special case of free-sets [START_REF] Boulicaut | Free-Sets: A Condensed Representation of Boolean Data for the Approximation of Frequency Queries[END_REF]. Given a generator itemset, all its subsets are also generators [START_REF] Bastide | Mining frequent patterns with counting inference[END_REF]. Furthermore, Property 1. If an itemset is not generator, then none of its supersets are generators [START_REF] Kryszkiewicz | Concise Representation of Frequent Patterns Based on Disjunction-Free Generators[END_REF].

Definition 2 (closed). An itemset C is called closed if no proper superset thereof has the same support (∀H ⊃ C, supp(H) < supp(C)).
A closure operator assigns to an itemset X the maximum of its equivalence class (denoted by γ(X)). Naturally, X = γ(X) for closed X. In our example, AB and ACDE are the closures of the aforementioned two generators, respectively (meaning that the class of AD is a singleton).

An itemset X is called frequent, if its support is not less than a given minimum support (denoted by min_supp), i.e. supp(X) ≥ min_supp. Similarly to generators, frequent itemsets form a down-set in the Boolean lattice of all itemsets, which is better known as the anti-monotony of the frequent status.

An association rule r: P 1 → P 2 involves two itemsets P 1 , P 2 ⊆ A, such that P 1 ∩ P 2 = ∅, and P 2 = ∅. The support of a rule r is supp(r) = supp(P 1 ∪ P 2 ) and its confidence conf (r) = supp(P 1 ∪ P 2 )/supp(P 1 ). Frequent rules are defined in a way similar to frequent itemsets, whereas confident rules play equivalent role for the confidence measure. A valid rule is both frequent and confident. Finding all valid rules in a database is the target of a typical association rule mining task.

As their number may grow up to exponential, reduced sub-families of valid rules are defined, which nevertheless convey the same information (lossless). Associated expansion mechanisms allow for the entire family to be retrieved from the reduced ones without any non-valid rules to be mixed in (soundness). The minimal non-redundant association rule (MN R) family is made of rules P → Q \ P , where P ⊂ Q, P is a (minimal) generator and Q is a closed itemset. A more restricted family results from the additional constraint that P and Q belong to the same equivalence class, i.e. γ(P ) = Q. This family is known as the generic basis for exact association rules [START_REF] Kryszkiewicz | Concise Representations of Association Rules[END_REF], i.e., for all those having a 100% confidence. Here the basis refers to the non-redundancy of the family w.r.t. a specific criterion. Another construction using generators and their closures is the proper basis [START_REF] Ganter | Formal concept analysis: mathematical foundations[END_REF] that has equivalents in several mathematical fields. Inexact rule bases can also be defined by means of generators and closures, e.g. the informative basis [START_REF] Kryszkiewicz | Concise Representations of Association Rules[END_REF], which further involves the inclusion order between closures.

Vertical Itemset Mining

The mining methods from the literature, targeting either plain FIs or FCIs, can be roughly split into breadth-first and depth-first miners. Apriori -like [START_REF] Agrawal | Fast Algorithms for Mining Association Rules in Large Databases[END_REF] levelwise breadth-first algorithms exploit the anti-monotony of frequent itemsets in a straightforward manner: they advance one level at a time, generating candidates for the next level and then computing their support upon the database. Depth-first algorithms, in contrast, organize the search space in a tree. Typically using a sorted representation of the itemsets, they factor out common prefixes and hence limit the computing effort. Typical depth-first FCI-miners include Charm [START_REF] Zaki | CHARM: An Efficient Algorithm for Closed Itemset Mining[END_REF] and Closet [START_REF] Pei | CLOSET: An Efficient Algorithm for Mining Frequent Closed Itemsets[END_REF].

Common Characteristics

Eclat was the first FI-miner using a vertical encoding of the database combined with a depth-first traversal of the search space (organized in a prefix-tree) [START_REF] Zaki | New Algorithms for Fast Discovery of Association Rules[END_REF]. Charm is an adaptation of Eclat to extract FCIs only [START_REF] Zaki | CHARM: An Efficient Algorithm for Closed Itemset Mining[END_REF].

Vertical miners rely on a specific layout of the database that presents it in an item-based, instead of a transaction-based, fashion. Thus, an additional effort is required to transpose the global data matrix in a pre-processing step. However, this effort pays back since afterwards the secondary storage does not need to be accessed anymore. Indeed, the support of an itemset can be computed by explicitly constructing its tidset which in turn can be built on top of the tidsets of the individual items. Moreover, in [START_REF] Zaki | Scalable Algorithms for Association Mining[END_REF], it is shown that the support of any k-itemset can be determined by intersecting the tid-lists of any two of its (k -1)long subsets.

The central data structure in a vertical FI-miner is the IT-tree that represents both the search space and the final result. The IT-tree is an extended prefix-tree whose nodes are X × t(X) pairs. With respect to a classical prefix-tree or trie, in an IT-tree the itemset X provides the entire prefix from the root to the node labeled by it (and not the difference with the parent node prefix).

Example. Figure 1 presents the IT-tree of our example. Observe that the node ABC × 2 for instance can be computed by combining the nodes AB × 23 and AC ×12. To that end, tidsets are intersected and itemsets are joined. The support of ABC is readily established to 1.

Eclat

Eclat is a plain FI-miner. It traverses the IT-tree in a depth-first manner in a pre-order way, from left-to-right [START_REF] Zaki | New Algorithms for Fast Discovery of Association Rules[END_REF][START_REF] Zaki | Scalable Algorithms for Association Mining[END_REF].

At the beginning, the IT-tree is reduced to its root (empty itemset). Eclat extends the root one level downwards by adding the nodes of all frequent 1-itemsets. Then, each of the new nodes is extended similarly: first, candidate descendant nodes are formed by adding to its itemset the itemset of each right sibling; second, the tidsets are computed by intersection and the supports are established; Running example. Using Figure 1, we illustrate the execution of Eclat on dataset D with min_supp = 1 (20%). Initially, the IT-tree comprises only the root node whose support is 100%. Frequent items with their tidsets are then added under the root. Each of the new nodes is recursively extended, following a left-to-right order and processing the corresponding sub-trees in a pre-order fashion. For instance, the subtree of A comprises all frequent itemsets starting with A. Thus, at step two, all 2-long supersets of A are formed using the right siblings of A (frequent 1-itemsets). As AB, AC, AD, and AE are all frequent, they are added as descendant nodes under the node of A. The extend procedure is then recursively called on AB and the computation goes one level deeper in the IT-tree. When the algorithm stops, all frequent itemsets are discovered.

Charm

Charm adapts the computing schema of Eclat to construct FCIs only [START_REF] Zaki | CHARM: An Efficient Algorithm for Closed Itemset Mining[END_REF]. The key challenge faced by Charm is to reduce the complete IT-tree as depicted in Figure 1 to the family of FCIs. Thus, on the one hand, it has to rapidly find an FCI from a prefix thereof, i.e., without necessarily exploring all its frequent subsets. To that end, Charm applies four properties of itemset-tidset pairs (detailed in [START_REF] Zaki | CHARM: An Efficient Algorithm for Closed Itemset Mining[END_REF]) that help rapidly extend each itemset X to a maximal itemset Z with t(X) = t(Z) such that the former is a prefix of the latter. Yet this does not guarantee that Z is closed as γ(X) does not need to admit X as a prefix. Hence, each such Z must be checked for closeness, which calls for two enabling mechanisms. One is a storage of all closed itemsets allowing all candidate closures to be easily checked against the currently known ones. It is realized by means of a hash table whose hash key is based on the tidset (image) of Z (see Section 4 for further details on hashing). The second mechanism arises naturally with the traversal strategy applied in Charm: In fact, among all the candidates Z, i.e., maximally extended itemsets that share the same image, the closure γ(Z) is always generated first. Thus, to test if Z is closed, it must be checked if there is a superset of Z with the same image already stored. If there is such a superset, then it is necessarily the closure of Z, so the current candidate is discarded.

Example. On dataset D, Charm builds a similar albeit much smaller IT-tree than the one in Figure 1. Altogether, it finds 6 closed itemsets by min_supp = 1. For instance, to determine that the itemset BD is not closed, Charm relies on the closure ABCDE. The latter is output by the processing of the branch of A, hence it is already stored when the candidate BD is created during the process of the branch of B. Thus, as BD is a subset of ABCDE with the same image, BD is discarded.

Charm is knowingly one of the fastest FCI-miners, especially for dense, highly correlated datasets. Hence our idea of using it as basis for an own FCI/FGmining method. The challenge to face here is the proper translation of the FCItargeting strategy in Charm to FGs. A first observation is that FGs play dual role within the corresponding equivalence classes where they are minimal, whereas FCIs are maximal. Moreover, there may be several FGs in a class, which means that the candidate check cannot rely on mere image comparison. Indeed, if two FGs happen to be checked against each other, none of them must be discarded. Thus, one needs a further test that looks for itemset inclusion: a candidate FG should be certified if there is no subset thereof with the same image stored in the FG hash. This testing principle calls for a different traversal strategy, i.e. one that insures all subsets of an itemset X are already processed before X itself. Such a requirement is typically addressed with a breadth-first, levelwise traversal strategy. Curiously enough, it can be achieved even with a depth-first one, yet not a standard one. The next section presents the traversal discipline and the algorithm built on top of it.

Talky-G

Talky-G is a novel vertical algorithm to find frequent generators (FGs) only. Talky-G traverses the IT-tree in a depth-first manner in a reverse pre-order way, from right-to-left.

Reverse Pre-Order Traversal

While Eclat and Charm traverse the IT-tree in a pre-order way from left-toright, Talky-G uses the so-called reverse pre-order strategy, where the order of traversal is right-to-left. In [START_REF] Calders | Depth-first non-derivable itemset mining[END_REF], Calders and Goethals made the following observation. Let X be the itemset of a node in the IT-tree. In the case of reverse pre-order traversal, the nodes of the subsets of X are either on the path from the root node to the node of X, or are in a branch that comes in the order after X, never in a branch that comes in the order before the branch of X. That is, the same tree is processed, still in a depth-first manner, but from right-to-left. This order is called reverse pre-order. As pointed out in [START_REF] Calders | Depth-first non-derivable itemset mining[END_REF], using reverse pre-order Fig. 2. Left: pre-order traversal with Eclat; Right: reverse pre-order traversal with Talky traversal, all subsets of X are handled before X itself. Though no name was given in [START_REF] Calders | Depth-first non-derivable itemset mining[END_REF] to this modified version of Eclat, we will refer to this algorithm as Talky. That is, Talky is Eclat with reverse pre-order traversal. The algorithm proposed hereafter called Talky-G is a completion of this traversal in order to explore FGs only.

Example. See Figure 2 for a comparison between the two traversals namely preorder with Eclat (left) and reverse pre-order with Talky (right). The direction of traversal is indicated in circles on the left side of the nodes.

The Algorithm

Pseudo code. Algorithm 1 provides the main block of Talky-G. First, the ITtree is initialized, which includes the following steps: the root node, representing the empty set, is created. By definition, the support of the empty set is equal to the number of transactions in the dataset (100%). Talky-G transforms the layout of the dataset in vertical format, and inserts under the root node all 1-long frequent generators. 4 Then, the dataset itself can be deleted from the main memory since all frequent generators are unions of 1-long frequent generators. After this, the extend procedure is called recursively for each child of the root in a reverse pre-order way from right-to-left. Talky-G concentrates on frequent generators only so that at the end all FGs are comprised in the IT-tree.

The addChild procedure inserts an IT-node under a node. The save procedure stores a frequent generator in a dedicated "list" data structure.

The extend procedure (see Algorithm 2) discovers all frequent generators in the subtree of a node. First, the procedure forms new frequent generators with the right siblings of the current node. Then, these FGs are added below the current node and are extended recursively in a reverse pre-order way from right-to-left.

The getNextGenerator function (see Algorithm 3) has two nodes as input parameters, and it returns a new frequent generator, or "null" if no frequent generator can be produced from the two input nodes. A candidate node is created by taking the union of the itemsets of the two input nodes, and the intersection of their tidsets. Thus, the input nodes are the parents of the candidate. Then, the candidate undergoes a series of tests. First, a frequency test is used to eliminate non-frequent itemsets. Second, the candidate is compared to its parents. If its tidset is equivalent to the tidset of one of its parents, then the candidate is not generator by Def. 1. If an itemset passed these two tests, it is still not sure that it is generator. As seen before, the reverse pre-order traversal guarantees that when an itemset is reached in the IT-tree, all its subsets are handled before. Talky-G collects frequent generators in a "list" too (see also the save procedure). The third test checks if the candidate has a proper subset with the same support in this "list". If yes, then the candidate is not generator by Def. 1. This last step might seem to be a very expensive step, but as we will see later, it can be done very efficiently with a special hash data structure. If a candidate survives all the tests, then it is an FG and will be added to the IT-tree. Otherwise it is discarded and this prevents any of its supersets to be generated as candidates (see Prop. 1). This way, the search space is reduced to frequent generators only.

When the algorithm stops, all frequent generators (and only frequent generators) are inserted in the IT-tree and in the "list" of generators.

Running example. The execution of Talky-G on dataset D with min_supp = 1 (20%) is illustrated in Figure 3. The execution order is indicated on the left side of the nodes in circles.

The algorithm first initializes the IT-tree with the root node. Since there is no full column in the input dataset, all attributes are frequent generators, thus they are added under the root. The children of the root node are extended recursively one by one, from right-to-left. Node E has no right sibling, thus it cannot be extended. Node D is extended with E, but the resulting itemset DE is not generator since its support is equal to the support of its parent E. Node C is extended with D and E, but neither CD nor CE is generator for the same reason. We skip the detailed presentation of the subtree of B. 2-long supersets of A are formed by using its right siblings and added to the IT-tree. The candidates AC Algorithm 1 (main block of Talky-G):

1) root.itemset ← ∅; // root is an IT-node whose itemset is empty 2) root.tidset ← {all transaction IDs}; // the empty set is included in every tr.

3) loop over the vertical representation of the dataset (attr) { 4)

if ((attr.supp ≥ min_supp) and (attr.supp < |O|)) { 5)

root.addChild(attr); // attr is frequent and generator 6) } 7) } 8) 9) loop over the children of root from right-to-left (child) { 10) save(child); // process the itemset 11) extend(child); // discover the subtree below child 12) } Algorithm 2 ("extend" procedure of Talky-G):

Method: extend an IT-node recursively (discover FGs in its subtree) Input: curr -an IT-node whose subtree is to be discovered 1) loop over the siblings of curr from left-to-right (other) { 2)

generator ← getNextGenerator(curr, other); 3)

if (generator = null) then curr.addChild(generator); 4) } 5) 6) loop over the children of curr from right-to-left (child) { 7) save(child); // process the itemset 8) extend(child); // discover the subtree below child 9) } and AE are not generators because of C and E, respectively. The combination of AB and AD produces the candidate ABD, which represents a special case. Its support is different from its parents, but we already found a proper subset of it with the same support (BD) in a previous branch. According to Def. 1, ABD is not generator, thus it is not added to the IT-tree.

Fast Subsumption Checking

Let X i and X j be two itemsets. We say that X i subsumes X j (or X j is subsumed by X i ), iff X j ⊂ X i and supp(X i ) = supp(X j ). X i (resp. X j ) is also known as subsumer (resp. subsumee). By Def. 1, if an itemset subsumes another itemset, then the subsumer is not generator. Recall that in the getNextGenerator function, when a new candidate itemset C is created, Talky-G checks if C subsumes a previously found generator. If the test is positive, then clearly C is not gener- ator. This subsumption test might seem to be an expensive step, but we found a very efficient way to filter these non-generator itemsets.

In Talky-G we adapted the hash structure of Charm for storing frequent generators. Talky-G, similarly to Charm, computes a hash function on the sum of the tids in the tidset and stores in the hash table a generator with its support value. Due to the tidset-based hash function, two itemsets with the same image have the same hash value. Itemsets having the same hash value are stored in a list at the same position of the hash. Let h(X i ) denote the hash function on the tidset of X i . For the subsumption check of a candidate itemset C, we retrieve from the hash table all entries with the hash key h(C). For each element G in this list, test if supp(C) = supp(G). If yes, test if C ⊃ G. If yes, then C subsumes G, i.e. C is not generator. If C subsumes no entries in the list, then C is generator and added to the end of the list.

Example. Let us see Figure 4 (right) that depicts the hash structure of the IT-tree in Figure 3. This hash table contains all frequent generators of dataset D. For this example, the size of the hash table is set to four. 5 At each position of the hash table there are pointers to lists. In each list we can find itemsets that have the same hash key.

In the running example we saw that ABD is not generator. It can be determined the following way. First, compute the sum of the tids in its tidset; then Fig. 4. Hash tables for dataset D by min_supp = 1. Left: hash table of Charm containing all FCIs; Right: hash table of Talky-G containing all FGs modulo this sum by the size of the hash table to get its hash value:

2 mod 4 = 2.
Traverse the list of the hash table at position 2. The support of B differs from the support of ABD. The itemset BE has the same support value as ABD, but ABD is not a proper superset of BE. The itemset BD has the same support as ABD, and ABD is a proper superset of BD, thus ABD is not generator. At this point the traversal of the list is finished.

Experimental results of Talky-G are reported in the next section as part of the Touch algorithm.

Touch

The Touch algorithm has three main features, namely (1) extracting frequent closed itemsets, (2) extracting frequent generators, and (3) associating frequent generators to their closures, i.e. identifying frequent equivalence classes.

The Algorithm

Previously, we showed that Charm and Talky-G extract frequent closed itemsets and frequent generators, respectively. Each algorithm uses a dedicated hash data structure for storing the found itemsets (see Figure 4). There is one more step to do namely associating frequent generators to their closures, i.e. identifying the equivalence classes. The question is how to do this efficiently.

Our approach uses the hash structures for the association. The method is based on the following property: Property 2. Let h(X) denote the hash function on the tidset of X. Given a frequent closed itemset Y and its frequent generator

Z, h(Y ) = h(Z) since t(Y ) = t(Z).
Since the two hash tables have the same size, and the two algorithms use the same hash function, it follows from Property 2 that a frequent closed itemset and its generators are in different hash tables but at the same index position.

Pseudo code. The pseudo code of Touch is given in Algorithm 4. First, the algorithm calls Charm and Talky-G and takes over their hash structures. Then, Algorithm 4 (Touch): Description: find frequent equivalence classes 1) hashF CI ←(call Charm and get its hash data structure); // see Section 3.3 2) hashF G ←(call Talky-G and get its hash data structure); // see Section 4 3) match(hashF CI, hashF G); Touch matches the two hash tables the following way. For each frequent closed itemset X, it looks up in the other hash table at the same index position all subsets of X that have the same support. The output of Touch is shown in Table 1. Recall that due to the property of equivalence classes, the support of a generator is equal to the support of its closure.

Example. Consider Figure 4 that depicts the hash structures of Charm and Talky-G. Say we want to determine the generators of the closed itemset ACDE. The itemset ACDE is stored at position 3 in the hash structure of Charm. By Property 2, its generators are also stored at position 3 in the hash structure of Talky-G. In this list, there are three itemsets that are subsets of ACDE and that have the same support values: E, C, and AD. It means that these three itemsets are the generators of ACDE. The frequent closed itemset A has one subset with the same support in the other hash structure at index 2 (A). This means that A is a closed itemset and a generator at the same time, i.e. the equivalence class of A has one element only (singleton equivalence class). Etc.

Experimental Results

We evaluated Touch against Zart [START_REF] Szathmary | ZART: A Multifunctional Itemset Mining Algorithm[END_REF] and A-Close [START_REF] Pasquier | Discovering frequent closed itemsets for association rules[END_REF]. The algorithms were implemented in Java in the Coron data mining platform [START_REF] Szathmary | Symbolic Data Mining Methods with the Coron Platform[END_REF]. 6 The experiments were carried out on a bi-processor Intel Quad Core Xeon 2.33 GHz machine running under Ubuntu GNU/Linux operating system with 4 GB of RAM. For the experiments we have used the following datasets: T20I6D100K, C20D10K, and Mushrooms. The T20I6D100K7 is a sparse dataset, constructed according to the properties of market basket data that are typical weakly correlated data. The C20D10K is a census dataset from the PUMS sample file, while the Mushrooms8 describes mushrooms characteristics. The last two are highly correlated datasets. Table 2 contains detailed information about the execution of Touch. The first three columns correspond to the three main steps of Touch namely (1) getting FCIs using Charm, (2) getting FGs using Talky-G, and (3) associating FGs to their closures. Column 4 indicates the total execution time of the algorithm including input and output. In the sparse dataset T20I6D100K, almost all frequent itemsets are closed and generators at the same time. It means that most equivalence classes are singletons. It is known that Charm is less efficient on sparse datasets. This is due to the fact that Charm performs four tests on candidates for reducing the IT-tree. However, in sparse datasets the number of FCIs is almost equivalent to the number of FIs, thus the search space cannot be reduced significantly. Talky-G is also less efficient on sparse datasets. However, in dense, highly correlated datasets (C20D10K and Mushrooms), both Charm and Talky-G are very efficient, even at low minimum support values. Since the number of FCIs and FGs is much less than the number of FIs, the two algorithms can take advantage of exploring a much smaller search space. The association of FCIs and FGs is done very efficiently in all cases. That is, the association step gives absolutely no overhead to Touch. time command between input and output. We have chosen Zart and A-Close because they represent two efficient algorithms that produce exactly the same output as Touch. Zart and A-Close are both levelwise algorithms. Zart is an extension of Pascal [START_REF] Bastide | Mining frequent patterns with counting inference[END_REF], i.e. first it finds all FIs using pattern-counting inference, then it filters FCIs, and finally the algorithm associates FGs to their closures. A-Close reduces the search space to FGs only, then it calculates the closure for each generator. The way A-Close computes the closures of generators is quite expensive because of the huge number of intersection operations. Touch, just like A-Close, reduces the search space to the strict minimum, i.e. it only extracts what it really needs namely the set of FCIs and the set of FGs. Then, Touch associates the two sets in a very efficient way. Since Touch is based on Charm and Talky-G, the algorithm is very efficient on dense, highly correlated datasets. We must admit however that levelwise algorithms like Zart are sometimes more suitable for sparse datasets.

Conclusion

Mining FGs has so far been done largely in a levelwise manner as the breadth-first traversal fits the down-set structure of the FG family. Yet depth-first algorithms have shown superior efficiency in many situations, whence the motivation of our study of depth-first FCI/FG-mining. As a contribution to this problem, we presented Touch, an algorithm that splits the general problem into three tasks: (1) FCI-mining, (2) FG-mining, and (3) association of FGs to their closures (FCIs). While (1) is solved by reusing an existing algorithm, Charm, the two others generate innovative solutions. Hence the Talky-G vertical FG-miner used in (2) is an original contribution on its own. As all three solutions are highly optimized, the algorithm performs well against comparable levelwise miners. Numerous concise representations of valid association rules can be readily derived from the method output.

The study led to a range of exciting questions that are currently investigated. Thus, from an algorithmic point of view, it would be interesting to merge steps (1) and (2), e.g. by using the output of Talky-G (i.e., the IT-tree of all FGs) as a starting point for the FCI-mining, hence avoiding step (3). A further challenge lays in the computation of the FCI precedence order that underlies some of the association rule bases from the literature.

Fig. 1 .

 1 Fig. 1. IT-tree: Itemset-Tidset search tree of dataset D

Fig. 3 .

 3 Fig. 3. Execution of Talky-G on dataset D with min_supp = 1 (20%)

  Algorithm 3 ("getNextGenerator" function of Talky-G): // else, if it is a potential generator 10) cand.itemset ← curr.itemset ∪ other.itemset; 11) if (cand has a proper subset with the same support in the hash) { // test 3 12) return null; // not generator 13) } 14) // if cand passed all the tests then cand is a frequent generator 15) return cand;

	Method: create a new frequent generator
	Input: two IT-nodes (curr and other)
	Output: a frequent generator or null
	1) cand.tidset ← curr.tidset ∩ other.tidset;
	2) if (cardinality(cand.tidset) < min_supp) { // test 1
	3)	return null; // not frequent
	4) }
	5) // else, if it is frequent
	6) if ((cand.tidset = curr.tidset) or (cand.tidset = other.tidset)) { // test 2
	7)	return null; // not generator
	8) }
	9)

Table 1 .

 1 Output of Touch on dataset D by min_supp = 1

	FCI (supp) FGs	FCI (supp) FGs
	AB (2)	AB	B (3)	B
	ABCDE (1) BE; BD; BC	ACDE (2) E; C; AD
	A (3)	A	D (3)	D

Table 2 .

 2 Detailed execution times of Touch and other statistics (number of FCIs, number of FGs, number of FIs, proportion of the number of FCIs to the number of FIs, proportion of the number of FGs to the number of FIs). Note that the number of FIs is shown for comparative reasons only.

	Touch does not

Table 3 .

 3 Table 3 contains the experimental evaluation of Touch against Zart and A-Close. All times reported are real, wall clock times as obtained from the Unix Response times of Touch, compared to Zart and A-Close

		execution time (sec.)
	min_supp Touch Zart A-Close
	T20I6D100K
	1%	22.76 7.33 31.25
	0.75%	28.32 14.96 39.49
	0.5%	42.45 45.52 100.60
	0.25%	121.60 159.78 285.41
	C20D10K
	30%	1.06 8.17 15.78
	20%	1.42 15.84 29.88
	10%	2.27 36.66 59.41
	5%	3.37 75.28 94.18
	Mushrooms
	30%	0.82 3.65	7.17
	20%	0.98 10.69 15.28
	10%	1.57 75.36 36.83
	5%	2.53 641.54 63.37

For convenience, we write an itemset {A, B, E} as ABE, and a tidset {2,3} as 23.

Recall that a 1-long itemset p is generator iff supp(p) < 100%.

In our implementation, we set the size of the hash table to 100,000.

http://coron.loria.fr

http://www.almaden.ibm.com/software/quest/Resources/

http://kdd.ics.uci.edu/


Student Member, IEEE Yerkebulan Massalim
email: yerkebulan.massalim@nu.edu.kz.

Member, IEEE Zhanat Kappassov
email: zhkappassov@nu.edu.kz.

Array of Accelerometers as a Dynamic Vibro-Tactile Sensing for Assessing the Slipping Noise

Through vibrations people can assess both slippage of the directly grasped object and sliding of an external agent over the surface of the grasped immovable object. In robotic hands, with less advanced tactile sensing, the slippage and sliding events can be hard to distinguish. This paper shows how vibro-tactile sensing array can help to distinguish object/world sliding and sensor/object slippage events based on cross-correlation, which computes similarity in sensor readings of tactile array cells. The proposed vibro-tactile system consists of two accelerometers. Experiments with different surfaces are conducted to test the system and the proposed algorithm.

I. INTRODUCTION

There is evidence that people can detect and assess motions of a grasped object through vibrations [START_REF] Yao | An experiment on length perception with a virtual rolling stone[END_REF]. When the surface moves, a human hand experiences mechanical vibrations. This phenomenon is known as a structure-borne sound [START_REF] Howe | Sensing skin acceleration for slip and texture perception[END_REF]. Using an accelerometer and a recoil actuator [START_REF] Yao | Design and analysis of a recoil-type vibrotactile transducer[END_REF], experiments in human tactile perception revealed that simulations of only the structure-borne sound cause haptic illusion of a moving surface.

In this paper, we present a vibro-tactile sensor with an array of high-bandwidth accelerometers that can measure the structure-borne sound. Using this array, we compute coherence of a group of measurements of the tactile array. Thus, we are able to find out whether these measurements belong to a single waveform or to a group of incoherent ones.

Development of vibro-tactile sensors has been motivated, but not limited to, by a need for stable grasping using robot hands and grippers [START_REF] Kappassov | Tactile sensing in dexterous robot hands[END_REF], [START_REF] Luo | iclap: shape recognition by combining proprioception and touch sensing[END_REF]. The absence of structureborne sound (vibrations) indicates that no slippage is registered. Method of achieving stable grasping via detecting vibrations has long been implemented in hand prosthetic devices [START_REF] Kyberd | An intelligent anthropomorphic hand, with automatic grasp[END_REF]. Sensor/object slippage can be recognized in time domain by registering the high-pass filtered tactile signals from capacitive sensors, e.g. Pressure Profile Systems (PPS) sensors [START_REF] Romano | Human-inspired robotic grasp control with tactile sensing[END_REF]. Also, such tactile signals can be detected from a spectral power in the frequency domain using Fast Fourier transformations (FFT) as shown in [START_REF] Cutkosky | Dynamic tactile sensing[END_REF]. Similar registration but in time-frequency domain via discrete wavelet transformations (DWT) is given in [START_REF] Teshigawara | Highly sensitive sensor for detection of initial slip and its application in a multi-fingered robot hand[END_REF]. The latter approaches can be optimized to reduce the computational [START_REF] Göger | Tactile sensing for an anthropomorphic robotic hand: Hardware and signal processing[END_REF]. Other approaches use less direct techniques, such as image processing tools and an array of piezoelectric sensors as demonstrated in [START_REF] Ho | What can be inferred from a tactile arrayed sensor in autonomous in-hand manipulation[END_REF]. The authors can predict slippage by comparing a number of shifted contact points with a number of non-shifted contact ones. Vision cameras featured with a higher sampling rate are capable of tracking displacements of contact points to detect slippage events [START_REF] James | Slip detection with a biomimetic tactile sensor[END_REF]. In addition, recently emerged event-based cameras are capable of detecting changes in images immediately [START_REF] Rigi | A novel eventbased incipient slip detection using dynamic active-pixel vision sensor (davis)[END_REF]. Similar approaches apply computer vision techniques to clarify the output of tactile arrays by considering them as grayscale images. On the other hand, vibrations recorded via accelerometers warn about both a first contact with the environment and slippage [START_REF] Romano | Human-inspired robotic grasp control with tactile sensing[END_REF]. A more direct way of slippage detection includes measurements of tangential forces [START_REF] Ho | Development and analysis of a sliding tactile soft fingertip embedded with a microforce/moment sensor[END_REF] and Coulomb friction cone models [START_REF] Song | Efficient break-away friction ratio and slip prediction based on haptic surface exploration[END_REF]. Combination of friction force signals and vibro-tactile signals can be used to achieve a stable robot non-prehensile manipulation [START_REF] Meier | Distinguishing sliding from slipping during object pushing[END_REF]. Table I lists the aforementioned slippage detection techniques.

Among the reviewed literature, however, there is no much work dealing with robot dynamic tactile sensors capable of tackling the problem of distinguishing object/sensor (Fig. 1a) slippage from object/world (Fig. 1b) sliding [START_REF] Heyneman | Slip classification for dynamic tactile array sensors[END_REF]. In case of object/sensor slippage, velocity υ(t) is not zero, whereas υ(t) is zero in object/world sliding. For this purpose, in our proposed vibro-tactile sensing array we use signal conditioning electronics that deliver a synchronized stream of data registered on all sensing modules. These sensing modules are isolated from each other by air. Presumably, our approach can be integrated into autonomous dexterous manipulation routines for assuring a stable grasp with multiple points of contact as described in [START_REF] Sommer | Multi-contact haptic exploration and grasping with tactile sensors[END_REF].

Our vibro-tactile sensor design (Fig. 2) is presented in the next section and followed by the description of the method for slip assessment. The developed setup (Fig. 6) of the sensing array and experimental results with three different surface profiles are described in Section IV. Section V concludes the paper and discusses future works.

II. VIBRO-TACTILE SENSING MODULE

The design of human fingertip and the fact that it can detect structure-borne sounds with frequency of up to 1 kHz provides a general concept of slippage detection systems [START_REF] Johansson | Coding and use of tactile signals from the fingertips in object manipulation tasks[END_REF]. In our design, sensing modules measure vibrations at contact points simultaneously and quickly without interfering each other. Generally, we can specify the desired properties of the vibro-tactile sensing module as follows:

1) in order to detect vibrations during slippage, the sensing module should have appropriate physical bandwidth to detect the structure-borne sounds;

2) a signal conditioning circuit should have an appropriate data acquisition bandwidth;

3) sensor signals should be sampled synchronously; 4) be small enough to accommodate all electronic components;

5) be mechanically isolated from each other to avoid unwanted parasitic vibrations; 6) be easily manufactured and replicated by a person with basic technical skills; 7) be cost effective; 8) be reliable and maintainable.

A. Accelerometers

Vibration sensor module consists of one high-bandwidththree-axes accelerometer with analog output and a pair of Analog Devices AD7685 which sample accelerometer measurements along x and y axes (Fig. 2).

The accelerometer has physical bandwidth of more than 1 kHz. Such bandwidth allows to capture vibrations resulting from movements during slips in commonly accepted range of frequencies [START_REF] Johansson | Coding and use of tactile signals from the fingertips in object manipulation tasks[END_REF]. Also, an ordinary first-order filter (with time constant τ RC = 1µs) is used as anti-aliasing filter.

AD7685 is a tiny 16-bit analog-to-digital converter (ADC) with a suitable size to build up an array of sensors with small overall dimensions. It can provide up to 220 kHz sampling rate. Another important advantage of the chip is supporting cascaded connections while preventing the sampling rate to decline and the number of control pints to increase. Using several pins of a microcontroller unit, it is possible to acquire synchronized data from up to eight ADC chips at the maximum sampling rate for every chip. Therefore, we can connect multiple accelerometers in a cascaded manner.

We use two vibro-tactile sensing modules to construct the vibro-tactile sensing array. Therefore, we connect four ADCs: two chips per each module.

B. ARM microcontroller based control unit

The main function of ARM microcontroller unit (Fig. 4) is to synchronously condition signals from ADCs at a constant frequency and deliver them to a host computer via a communication protocol, e.g. USB. The main element of this unit is STM32F3 ARM microcontroller with 72 MHz clock. The speed and computational power of the microcontroller provide enough potential to achieve four channel 32 kHz sampling rate for aforementioned ADC. Thus, 8 kHz of sampling rate for every channel is enough to sample each accelerometer data since it has maximum bandwidth of 1.5 kHz. Fig. 3 summarizes the structure of the sensing array and control unit in a block diagram. The main basis of the proposed slippage assessment algorithm lies on investigating r (x(t))υ(t) for two different cases: object/sensor slippage (Fig. 1a) and object/world sliding (Fig. 1b). We assume that vibrations propagate and reach sensors at infinitely small amount of time, so the phase difference does not occur in readings of these sensors. This assumption is valid as long as

1 F s >> max(t pd ) (1)
where t pd is the time lag in sensor readings due to the vibration propagation speed, F s is the sampling rate of 8 kHz. As it is described in Section IV-A, the distance between sensors is 10 cm. Assuming that speed of propagation of structure-borne sound in object is more than 2000 m/s, t pd is less than 50 µs. Therefore, it can be assumed that a particular structure-borne sound wave causes similar accelerations in all cells of a tactile sensing array.

In the first case, when the surface slips over sensors, each sensing cell reads local sensor-motion vibrations. In this case signals are not correlated.

In the second case, when the surface vibrates due to environmental impact, the same forces will affect sensor readings. Hence, waves of vibrations reach all sensing cells of a tactile array simultaneously, and, therefore, sampled signals are correlated.

A. Correlation estimation

Let's define R i as readings of an ith accelerometer that captures vibrations r (x(t))υ(t) due to surface roughness. Then the correlation of two sensor readings (R a , R b ) is defined as the normalized cross-correlation function of the signals:

C a,b = (R a -R a ) T * (R b -R b ) R 2 a T * R 2 b ( 2
)
where R a and R b ∈ R N , N is window size of the first and second accelerometer readings, respectively. Since it is not necessary to estimate delayed correlation, it is neglected. Therefore, when a sliding motion occurs between the environment and the grasped object, signals are perfectly In real-time robot control applications, it is desirable to optimize computational costs. Therefore, we should eliminate redundancy during the normalized cross correlation computation. It is necessary to update its value in every iteration, but past iterations can be used to optimize computational efforts.

As proposed in [START_REF] Luo | A fast normalized cross-correlation calculation method for motion estimation[END_REF], we exploit modified version of sum tables to reach the minimum computation time. We consider W size R i (u) real-time FIFO buffer and assume that phase difference does not exist between sensor data. Therefore, we can compute the following modified digital representations s a (u) and s b (u) of R a and R b , respectively

s a (u) =      s a (u -1) + R 2 a (u) -R 2 a (u -W ), u>W s a (u -1) + R 2 a (u), u>0 0, u= 0 (3)
s b (u) =      s b (u -1) + R 2 b (u) -R 2 b (u -W ), u> W s b (u -1) + R 2 b (u), u> 0 0, u= 0 (4)
Thus, their cross-correlation

s a,b (u) = s a,b (u -1) + R a (u)R b (u), u> 0 0, u= 0 (5)
Finally, the normalized cross-correlation (NCC)

C a,b (u) = s a,b (u) s a (u)s a (u) (6)

IV. EXPERIMENTS

The proposed sensing array is validated in a series of experiments by applying the latter equation ( 6). In the following section, we describe our setup, experimental scenario, and results.

A. Setup

Each vibro-tactile sensing module (Fig. 5) is held by four series elastic elements (helical extension springs). They are attached to fastening tabs at corners of a module from one side and fixed to a rigid structure from the other side. The rigid structure is built on an optical breadboard using mounting clamps and platforms (Fig. 6).

The distance between the modules is 10 cm in horizontal plane. They are aligned in vertical plane. The ARM microcontroller unit is attached onto one of the mounting platforms.

B. Experimental scenario

During the experiment, different kinds of surface profiles are used to ensure that the algorithm performance does not depend on a surface profile type. Fig. 7 illustrates three objects with different surface profiles. The first object is aluminum profile, the second object is a textile, attached onto a rigid plastic piece and the third one is a wooden stick. In order to imitate real conditions of object/sensor slippage (Fig. 1a) as close as possible, an operator moves objects as shown in Fig. 8a. The speed of the slippage is also varied.

Then, in order to re-create the situation when the environment slides over an immovable object (Fig. 1b), an operator slides an object over the same three objects, which are immovable (Fig. 8b).

C. Results

The recorded signals from the vibro-tactile array are processed in MATLAB to distinguish world-object sliding from object-sensor slippage. Since, the sensing modules of the array deliver data simultaneously, the problem of phase shift does not occur. We also apply band-stop filter (65 Hz) to attenuate the effect of the springs that hold the sensing modules. Fig. 9 shows the raw acceleration data of two sensing modules and NCC, recorded for the three objects described above. The figure shows accelerations that occur along xaxis. In the illustrated results, the time window for obtaining NCC is equal to 2000 samples (0.25 s), i.e. W = 2000. NCC and signals shown in Fig. 9 a, b, and c correspond to objects 1, 2, 3 in Fig. 7, respectively.

The shaded sides of Fig. 9 a, b, c correspond to the case when an object slips over sensing array. Since the rugosity function is different at each sensing module, NCC is close to zero and does not reach half of its maximum. On the other hand, in case when the object is immovable and another object slides over it, NCC tends to its maximum (non-shaded side) since the rugosity function is the same at each sensing module. So far, we observe that cross-correlation is higher in case when the world slides over the immovable object than in case when the object slips over the vibro-tactile sensing array.

By changing the size of time-window for obtaining NCC, we observe that the standard deviation, σ is inversely proportional to W . For real-time applications, it leads to the trade-off between the robustness and response time. We also observe that the difference of NCC between slippage and sliding conditions is larger for a textile than for an aluminum bar and wooden stick. Therefore, these two conditions are more distinguishable for the textile than for the rest of the objects. These observations are summarized in Table II.

V. CONCLUSIONS

In this work, we present the design and implementation of a vibro-tactile sensing array which allows detection of slippage and sliding events during physical interactions. The working principle is based on measuring the acceleration caused by surface roughness. We show that classification of the object/sensor slippage and object/world sliding can be achieved using this sensing array. In order to demonstrate the efficacy, we benchmark the proposed approach in experiments with three different objects.

As future work, we envision to embed the sensing array into a robot gripper and implement the proposed algorithm directly in a microcontroller unit.

[22] [START_REF] Khamitov | Simultaneous selective harmonic elimination and total harmonic distortion minimization for a single-phase two-level inverter[END_REF] [24] [START_REF] Mazhitov | Deformable object recognition using proprioceptive and exteroceptive tactile sensing[END_REF]

Fig. 1 :

 1 Fig. 1: Raw model of the vibrations generated by (a): a moving surface in contact with sensors (b): a moving world in contact with a surface

Fig. 2 :

 2 Sensor module printed circuit board: (a) top (b) bottom views.

Fig. 3 :

 3 Fig. 3: Block diagram of the vibro-tactile array

  C a,b value lies in the range of [0, 1]. When C a,b ≈ 1, R a and R b are correlated. Otherwise, when C a,b is close to zero, sensor readings are not correlated, i.e. different from each other.

Fig. 5 :

 5 Fig. 5: Vibro-tactile sensing module assembly

Fig. 6 :

 6 Fig. 6: General view of the setup

Fig. 7 :

 7 Fig. 7: Objects with different surface profiles: 1 -aluminum, 2 -textile, 3 -wood.

Fig. 8 :

 8 Experimental scenario: (a) object/sensor slippage, (b) object/environment sliding

TABLE I :

 I Approaches for the slippage detection based on tactile information

	Sensors	Transduction Methods
	Microphone [6]	Acoustic	High-pass filter
	PPS sensors [7]	Capacitive	High-pass filter
	Polyvinylidene fluoride [9]	Piezoelectric DWT
	Capacitive sensors [8], [10]	Capacitive	FFT, object/surface detection spectral	power,
	Polyvinylidene fluoride [11]	Piezoelectric STFT, PCA, k-NN
	Accelerometer [7]	Acoustic	Filter, contact detection
	Piezoelectric (16x16) [12]	Piezoelectric Computer vision techniques
	TacTip [13]	Optical	Image processing
	Event-based cam-era [14]	Optical	Image processing
	ATi nano 17 [15]	Strain gauges	Force sensors, Coulomb forces

TABLE II :

 II Mean and standard deviation of NCC

			Aluminum			T extile			W ood
		W = 3000	W = 1500	W = 500	W = 3000	W = 1500	W = 500	W = 3000	W = 1500	W = 500
	Slippage
	σ	0.067	0.119	0.187	0.060	0.090	0.170	0.083	0.114	0.192
	mean	-0.040	-0.036	-0.037	-0.015	-0.003	0.012	0.109	0.093	0.065
	Sliding
	σ	0.105	0.165	0.235	0.072	0.098	0.148	0.106	0.119	0.150
	mean	0.414	0.377	0.331	0.620	0.617	0.607	0.668	0.670	0.685

ACKNOWLEDGEMENTS

The authors are thankful to Vincent HAYWARD for discussions on human perception aspects, especially haptics. We would like to thank Almas SHINTEMIROV and Atakan VAROL for sharing lab facilities and discussions on technical aspects of implementation.

This work was partially supported by the Ministry of Education and Science of the Republic of Kazakhstan and Nazarbayev University grants.


Zhanat Kappassov
email: kappassov@isir.upmc.fr

Manipulation Active

H Marcelo

Oussama Ang

Bruno Khatib

Siciliano

Keywords: Robotic manipulation, autonomous manipulation, dexterous manipulation, object manipulation, haptic manipulation, tactile manipulation Tactile sensing, sense of touch, object exploration, tactile servoing, force control, motion control Definition

teaching and research institutions in France or abroad, or from public or private research centers.

Introduction

The nature and variety of unconscious decisions that are taken by a human hand during a manipulation task -for example, turning a key or dexterous shuffling cards -have been but slightly explored for intertwined sensory-motor actions [START_REF] Stuart | Pioneers in cns inhibition: 1. ivan m. sechenov, the first to clearly demonstrate inhibition arising in the brain[END_REF]; [START_REF] Jeannerod | The timing of natural prehension movements[END_REF]. The human hand is endowed by multiple tactile sensing modalities allowing us to perform dexterous manipulation tasks [START_REF] Shao | Spatial patterns of cutaneous vibration during whole-hand haptic interactions[END_REF]. The sensing characteristics of the human tactile sensing system depend on the mechanics of human skin, e.g, peripheral blood flow or moisture content [START_REF] Bowden | Age-related changes in cutaneous sensation in the healthy human hand[END_REF], on the one hand. On the other hand, these characteristics depend on the type of the manipulation tasks -exploratory movements and in-hand manipulation of a known object involve different types [START_REF] Johansson | Coding and use of tactile signals from the fingertips in object manipulation tasks[END_REF] of hand mechanoreceptors [START_REF] Kunesch | Invariant temporal characteristics of manipulative hand movements[END_REF]. Indeed, in human hand-oriented research, manipulation is an active intertwined process, in which motor commands and perception depend on each other Robles-De-La-Torre and Hayward (2001). In haptics-oriented research, this process refers to the action of touching, and implies self-generated movements to gather information about the properties of surfaces (texture, hardness, temperature) and objects (size, shape, weight, location) [START_REF] Chapman | Active Touch[END_REF]. Findings in these human-centered research shed light on manipulation Fig. 1 Examples of human manipulation(adopted from [START_REF] Mason | Mechanics of robotic manipulation[END_REF]) and an industrial task(adopted from [START_REF] Lefebvre | Task planning with active sensing for autonomous compliant motion[END_REF] processes and yield to novel paradigms in robotic manipulation and industrial automation (Fig. 1).

In the recent literature on robotics, there are different active control approaches:

-active manipulation for point cloud acquisition by touch [START_REF] Petrovskaya | Global localization of objects via touch[END_REF], -active manipulation for optimal execution of a contact-rich task [START_REF] Lefebvre | Task planning with active sensing for autonomous compliant motion[END_REF], -active motion control for the optimal movement selection in a texture identification task [START_REF] Fishel | Bayesian exploration for intelligent identification of textures[END_REF], -active motion control for the exploration of the location of a physical contact Lee and Park (2014a) -manipulation for the estimation of physical properties in object recognition tasks [START_REF] Mavrakis | Estimation and exploitation of objects ' inertial parameters in robotic grasping and manipulation: A survey[END_REF] These control approaches are formulated in the context of classical autonomous manipulator control [START_REF] Righetti | An autonomous manipulation system based on force control and optimization[END_REF], including force control and visual servoing, or in the context of machine learning algorithms, including model-based reinforcement learning [START_REF] Tian | Manipulation by feel: Touch-based control with deep predictive models[END_REF]. Recently, manipulation skills of an autonomous robot were obtained by the combination of model-based reinforcement learning and an impedance controller [START_REF] Johannsmeier | A framework for robot manipulation: Skill formalism, meta learning and adaptive control[END_REF].

These approaches are designed to be deployed on dexterous robot hands endowed with tactile sensors. In this connection, a robot hand design, tactile control and inhand object localization are discussed in the following sections.

Overview

Many approaches -including feedforward and feedback control, optimization algorithms, e.g. satisfying multiple constraints as in [START_REF] Meguenani | Energy based control for safe human-robot physical interaction[END_REF], probabilistic algorithms, e.g Bayesian state estimation in [START_REF] Petrovskaya | Bayesian estimation for autonomous object manipulation based on tactile sensors[END_REF], and the most recent ones based on penalty-reward reinforcement approaches [START_REF] Rajeswaran | Learning Complex Dexterous Manipulation with Deep Reinforcement Learning and Demonstrations[END_REF] -are used to solve the problem of object manipulation. Kinematics of rigid object manipulation is described in [START_REF] Murray | A mathematical introduction to robotic manipulation[END_REF]. For the sake of the clarity, the state-of-the-art is summarized in Table 1.

There is a vast collection of industrial end-effectors, including grippers, developed for the manipulation of rigid and soft objects. These end-effectors were designed to be robust and fast during operational cycles, and to be deployed with less efforts in the industrial settings. Two-finger structure of industrial grippers was the choice that satisfied these design criteria. New challenges in consumer manufacturing include multifunctional and reconfigurable industrial line cells that operate and co-operate with human operators in close proximity. These challenges set new criteria on design of the end-effectors -in particular, the new structure of the endeffectors shall be dexterous to enable in-hand manipulation [START_REF] Falco | A roadmap to advance measurement science in robot dexterity and manipulation[END_REF]; Falco et al (2020).

Table 1 Taxonomy of robotic manipulation based on: the type of interaction -prehensile and non-prehensile, the type of tool used for object manipulation -from underactuated robot hands to redundant manipulators, the type of an object -from rigid to fabric sheet, the type of sensing modality -proprio-and extero-ceptive, and the type of a contact formation -single or multiple contact points, edge-or vertex-contact. In this connection, recent research in the design of multifinger robot hands is being shifted from academic laboratories to industrial settings. Various robotic hands have been developed with different levels of anthropomorphism to reproduce the Fig. 2 Robot hand prototype. The figure is adopted from the author's paper [START_REF] Kappassov | Semi-anthropomorphic 3d printed multigrasp hand for industrial and service robots[END_REF] human hand functionality. These anthropomorphic robot hands on the contrary to the traditional two-finger grippers can employ multiple grasp patterns, can relocate a grasped object within the hand, and, thus, complete much wider rang e of tasks Bicchi (2000). Nevertheless, in terms of dexterous manipulation skills, these robot hands are still far from being deployed in the real industrial settings.

Key Research Findings

Robot hands for dexterous manipulation

Let us consider issues and limitations of multi-fingered robot hands based on the design of a laboratory prototype [START_REF] Kappassov | Semi-anthropomorphic 3d printed multigrasp hand for industrial and service robots[END_REF] shown in Fig. 2.

The prototype hand has an intrinsic actuation system -the motors are located within the hand similar to the torque controlled four-finger Allegro Robot hand. These motors could be located outside of the hand (extrinsic) as it was implemented in the tendon-driven five-finger Shadow Robot hand (Fig. 6). In the latter case, the robot fingers and palm are relatively closer to the human hand dimensions and smaller compare to the intrinsic approach.

The fingers of the prototype are actuated via tendons. This causes non-linearities in force control (see the plot in Fig. 2) due to the mechanical friction between a tendon (green tendon in Fig. 2) and its channels within a finger and the palm. In order to mitigate but this does not eliminate the non-linear friction, metal to plastic (selflubrication) joints can be chosen for guiding the tendons (this is implemented in the last versions of Shadow Robot Hand). The non-linearity can be eliminated by removing the tendons and actuating the finger within joints, for example the four finger Allegro robot hand.

The number of degrees of freedom (dof) is the quantitative measure that differs the dexterous robot hands from 1 dof industrial grippers. In the prototype hand, middle, ring and little fingers are driven by one motor. Two phalanges of each finger in the prototype hand are underactuated. There are in total 10 dof and four servomotors. Efficacy of in-hand manipulation with four actuated dof is rather limited. Dexterous manipulation can be achieved with more dof, as for example, the manipulation of Rubik cube with the tendon driven Shadow Robot hand incorporating 24 dof actuated by 20 motors.

High-speed dynamic manipulation can be achieved with high bandwidth actuators, e.g. the three-fingered Adamant Namiki robot hand. The majority of nowadays robot hands can operate in quasi-static regime only and inferior to industrial grippers in actuation speed. Particularly, in order to test the position tracking capability -which is equal to 3 Hz only -of the prototype hand, its fingers were commanded to track sinusoidal position signals ±25% of total motion range centered at the midflexion point. The hand requires almost a second to close and 0.85 seconds to open.

In order to improve the dynamic range grip force control and avoid slippage, a polyurethane rubber is incorporated on the fingers of the Shadow Robot hand. Similarly, a soft padding was added in the hand prototype (Fig. 2). It increases the coefficient of static friction between the hand and a grasped object. For the hand prototype, the average pulling force of a wooden part was 21 N.

Soft padding are also used for enabling continuous physical contact during touchdriven manipulation tasks discussed in the next sections. (2013), there are tactile features that are fed back into a touch-driven controller that is described in this document. The robot joint control part is not considered here. An interested reader may refer to [START_REF] Villani | Force Control in Robotics[END_REF].

Touch-driven Control

In active and semi-active manipulation, the goal is to determine a time sequence of both response actions to the changes at the contacts and control inputs to achieve the desired response, deformation or motion of an object. They involve: 1) actuation skills, i.e. ability to actuate in the environment; 2) tactile sensing skills, i.e. ability to gather signals from physical contacts; 3) precoded or learning skills, i.e. database of desired set-points or capacity to learn for achieving a goal. The main idea in touch-driven control is that the pose of a single or multiple robot end-effectors can be controlled by steering contact points based on errors between the desired (s d ) and feedback (s a ) tactile feature vectors. s d depends on both task and touch (i.e. contact and its properties). In affordance Chavez-Garcia et al ( 2016) and reinforcement Rajeswaran* et al ( 2018) learning approaches, s d can be retrieved from robot trials in real or simulated worlds. In multiple point control, e.g. in object exploration with multi-finger robot hand [START_REF] Sommer | Multi-contact haptic exploration and grasping with tactile sensors[END_REF], this feature vector is given for each robot link. Fig. 4 a illustrates a simplified diagram of a robot controller driven with the desired set of tactile features s d .

Depending on the response time of a tactile sensor, the error between the desired and feedback tactile features can be used as an event signal in a feedforward controller or disturbance signal for a feedback controller. In most of the cases, the tactile sensors used in the first case have a higher bandwidth than the ones used in the second case. The sensors of the first group can detect slippage [START_REF] Massalim | Array of accelerometers as a dynamic vibro-tactile sensing for assessing the slipping noise[END_REF], recognize textures [START_REF] Fishel | Bayesian exploration for intelligent identification of textures[END_REF] or perform both [START_REF] Massalim | Deep vibro-tactile perception for simultaneous texture identification, slip detection, and speed estimation[END_REF]. The sensors of the second group are used in force control, object exploration and manipulation. There are mainly two types of sensors within this group: force-torque sensors installed on the fingertips of a robot hand (or end-effector) and pressure sensing tactile arrays. Force sensors can provide force and torque values in each direction in R 3 . A contact point location can be estimated from forces when the shape of the fingertip is known [START_REF] Liu | Intelligent fingertip sensing for contact information identification[END_REF]. Pressure sensing tactile arrays provide information about contact shape and pressure distributions [START_REF] Kyberd | Object-slip detection during manipulation using a derived force vector[END_REF] -by measuring two-dimensional pressure profile, which is similar to a gray-scale image in computer vision [START_REF] Ho | What can be inferred from a tactile arrayed sensor in autonomous in-hand manipulation?[END_REF]. In general, the tactile feature error should be converted into the controller input disturbance, e.g. into the pose disturbance dx ∈ R 6 -so that dx = Ad {g} T {s} (s ds)J -1 , where J -1 is an inverse tactile Jacobian and Ad {g} T {s} is the adjoint matrix derived from the current forward kinematics to transform the error expressed in the sensing frame {s} to the global frame {g} -for a robot position controller (Fig. 4) b.

The derived input disturbance modifies the desired set points x d of the robot controller so that x d = x a + dx, where x a is the current pose calculated by the Forward Kinematics of the robot. Finally, corrective motions are performed by moving joints q of the robot interacting with the environment.

In-hand object localization

The number of decisions that can take nowadays robotic manipulation systems is rather limited compare to what humans do in a single manipulation task Mason (2001) (Fig. 1). In the aforementioned touch-driven control approach, a robot does not take decisions for the next action. In the following, we overview one robot control approach that is based on a point cloud acquisition via touch-driven robot arm control [START_REF] Petrovskaya | Global localization of objects via touch[END_REF].

Let us assume that the shape of an object is known, then its shape can be represented by a set of k points {p k } O , where O is the objects' frame and p k are the coordinates of a point k on the surface of the object. These point are depicted in blue in Fig. 5a. Given the geometry of the hand and the signals from tactile sensors, there are n measurements y 1 , y 2 , ..., y n acquired from n tactile sensors at a single grasp. These detected contact points are shown in Fig. 5a (red). The Cartesian transformation from the sensor frame n to the palm frame P

A n y n + b n = z n , (1)
where A n and b n are the rotation matrix and translational vector, respectively, and z n is the measurement n in the palm frame. In order to localize the object we need to map the cloud of points of contact {y n } P to the cloud of points in the model {p k } O by finding an optimal transformation P T O .

Fig. 5 In-hand object localization: (a) contact points (red) between a robot hand and an object, (b) the area to be explored with the maximum (green dot) and minimum (red cross) distinctiveness.

Let us assume that there are i solutions

[ P T O (1) , P T O (2) , ... P T O (i) ]
, then multiple point clouds similarly describe the object -the mapping between the contact points and the model -at a given grasp of an object. The robot hand will need to explore the object. Hence, a policy for the next best action, i.e. the next location for regrasping, finger gaiting, rolling, or sliding Bicchi (2000), is needed. The next manipulation action should be chosen so that it will be the most informative for localizing the object. This problem can be solved by probabilistic Bayes filters with further Sequential Importance Resampling at each new manipulation action [START_REF] Petrovskaya | Bayesian estimation for autonomous object manipulation based on tactile sensors[END_REF]. For the sake of clarity, let us assume that the manipulation is realized via regrasping. Therefore, there can be multiple grasps denoted as G 1 , G 2 , ..., G N g and Z G 1 represents the measurements z 1 , z 2 , ..., z n at the grasp G 1 . For a given grasp G j (where j = 1, 2, ..., N g ), each possible transformation P T O (i) (where i = 1, 2, ...N s ; N s being the number of believes/samples for the grasp G j ) will represent an hypothesis of the state x

[i] G j of the object inside the hand. Then the posterior believe Bel(x

[i] G j )
given the grasp G j of this state will be:

Bel(x [i] G j ) = P(x [i] G j |Z G j ) (2)
A possible way to calculate this posterior believe is to obtain the sum of all Euclidean distances d

[i]

G j between each measurement (or each contact point z n ) and its corresponding object model point p k for each state i:

d [i] G j = ∑ ∀n∈G j ||z n -P T O (i) • p k || (3)
and later obtain the probability of this state (i.e. sample) as the ratio of its inverse distance to the sum of all the inverse distances in all the states (samples) of a given grasp G j :

Bel(x [i] G j ) = 1/(d [i] G j ) ∑ N s i=1 1/(d [i] G j ) (4)
A more complex -presumably, more reliable -way would include the mapping between tactile features (for instance, the orientation of an edge in the tactile image) and not contact points only. At any next grasp G j+1 , probabilities of some of the states will increase or decrease. Then those states that will have higher probabilities will be resampled and the ones with lower probabilities will be dropped out.

Defining the policy for the next grasp is a rather challenging task. One of the simplest solution is to find for each finger such a new contact point on the surface that would give the maximum differentiation between all the considered states of the object. An example is shown in Fig. 5 b: the current points of contact are depicted as the red dots; in order to classify the shape whether it is a circle or square, the next contact point to test should be at the location of the green dot rather than at the location of the red cross, which would provide a higher distinctiveness (i.e. discrimination).

Future Directions and Challenges in robotic manipulation

In this section we discussed the robot hand design on one hand, and its control on the other hand. Particularly, we have reviewed the foundation of touch-driven robot control for active manipulation. There is an intersection with the literature covered in classical motion and force control, e.g. Siciliano and Khatib (2008). The problem of robotic manipulation remains a key challenge in robotics due to both the lack of reliable dexterous robot hands and durable tactile sensors. In this connection, in the manipulation-oriented literature, there are no approaches with the ability to finely and dynamically manipulate an object within a multi-fingered robot hand. Indeed, these capabilities shall be considered during both the manufacturing of robot hands and design process of touch driven controllers. Non-linearity of tendon-driven mechanisms, trade-off between the bandwidth of actuators and the dynamic range of force control, number of dof, and the life time of the robot hands are some but not all issues that set constraints on truly dexterous manipulation.

In the past century, one of the first dexterous robot hands was made from wood (Fig. 6). With injection molding and rapid prototyping technologies, robot hand mechanisms have been improved in terms of backlash, lubrication, durability. Nevertheless, the computational power of the current processing units and advances in control theory, e.g. reinforcement learning algorithms, are ahead of the capabilities of both the robot hands and tactile sensors. In the future, these sensors and robot hands will need to catch up with the computational power to let the future robots be capable of dexterous manipulation of objects used in manufacturing environments by human operators.

One of the potential solutions for in-hand robot manipulation is based on development of non-anthropomorphic end-effectors [START_REF] Yuan | Design of a roller-based dexterous hand for object grasping and within-hand manipulation[END_REF]. These nonanthropomorphic robot hands incorporate fingertips with active contact surfaces, e.g. gecko skin [START_REF] Hashizume | Capacitive sensing for a gripper with gecko-inspired adhesive film[END_REF] or a DC motor actuated fingertip [START_REF] Yuan | Design of a roller-based dexterous hand for object grasping and within-hand manipulation[END_REF] as shown in Fig. 6. The active surfaces allow robots to perform robust pickand-place tasks of tiny objects.

Fig. 3

 3 Fig. 3 Robot control block diagram for manipulation (adopted Kappassov et al (2016))

Fig. 4

 4 Fig. 4 Tactile control: a) task level, b) controller level.

Fig. 6

 6 Fig. 6 Biomimetic (left, provided by Richard Greenhill) and non-biomimetic (right, Yuan et al (2020)) hands.

Cross-References

Haptics and Haptic Interfaces,19;26;Tactile Sensors,115.