Susmit Bagchi
email: susmitbagchi@yahoo.co.uk

VMDFS: Virtual Memory based Mobile Distributed File System

Keywords: Virtual Memory, Mobile Computing, MDVM, File System, Kernel, Network Latency

The mobile computing paradigm is becoming a reality due to the advent of mobile devices such as, PDA and Smart Phones having wireless interface to WWW. As a result, the high-end applications related to mobile multimedia and distributed digital contents have gained much attention. However, the existing distributed and mobile file systems are not adequately suitable to support such applications handling the challenges offered by mobile computing systems. In this paper, the concept, design architecture and consistency model of Virtual memory based Mobile Distributed File System (VMDFS) are proposed based on thin-mobileclient/fat-server model. VMDFS creates the migrate-able virtual memory based mobile file system on top of the disk file systems of remote servers employing dynamic frame-lock to reduce network latency and to attain high-performance. An abstract mathematical model of VMDFS is constructed and associated properties are evaluated. The kernel-level implementation framework of VMDFS is illustrated based on Linux 2.4.22. The network paging latencies for LAN, Wireless VPN and 2.5G GPRS are measured experimentally. The results indicate that VMDFS is realizable.

Introduction

Due to the advent of mobile computing devices having wireless communication interface and access to internet such as, PDA, Smart-Phone, the mobile computing paradigm is becoming a reality [START_REF] Bagchi | MDVM System Concept, Paging Latency and Round-2 randomized Leader Election Algorithm in SG[END_REF][29] [START_REF] Bagchi | MDVM: Architecture, Design Goals and Requirements[END_REF]. As a result, a set of high-end mobile applications, for example mobile multimedia systems and digital contents, has emerged [START_REF] Plagemann | Operating System Support for Multimedia Systems[END_REF]. In general, the distributed multimedia applications rely on the static client-server computing model based on high-speed wired network and fail to handle the challenges imposed by mobile computing paradigm. The technical challenges associated to mobile computing system are the resource constraints of mobile devices and the intermittent low-bandwidth wireless network [START_REF] Bagchi | MDVM System Concept, Paging Latency and Round-2 randomized Leader Election Algorithm in SG[END_REF] [START_REF] Bagchi | Design Architecture and Model of MDVM System[END_REF]. Researchers have directed to utilize the resources of remote servers by mobile clients through the wireless communication interface in order to realize the high-end mobile distributed applications [START_REF] Policroniades | A Data Repository for Fine-Grained Adaptation in Heterogeneous Environments[END_REF][29] [START_REF] Bagchi | MDVM: Architecture, Design Goals and Requirements[END_REF]. The resources and storage offered by servers enable the mobile devices to create, store and distribute/share the digital contents under mobility. In order to realize the location transparent and high-available mobile digital contents, a mobility-aware, distributed and high-performance file system is required. The traditional file system interfaces need to be extended to achieve high-performance coping with the larger file sizes and mobility [START_REF] Plagemann | Operating System Support for Multimedia Systems[END_REF]. The existing distributed file systems such as, NFS, DAFS and DFS, perform poorly in the mobile computing environment [START_REF] Honeyman | Communications and Consistency in Mobile File Systems[END_REF][24] [START_REF] Anderson | Serverless Network File Systems[END_REF]. Researchers have directed to design the kernel-level NFS [START_REF] Magoutis | Making the Most out of Direct-Access Network Attached Storage[END_REF] and kernel-level resource management architecture to achieve QoS and better resource utilization [START_REF] Poellabauer | Kernel Support for the Event-Based Cooperation of Distributed Resource Managers[END_REF][3] [START_REF] Poellabauer | KECho-Event Communication for Distributed Kernel Services[END_REF]. The traditional RAM-disk file system tries to achieve comparatively lower data-access latency, however, it suffers from the poor performance, volatility of data and the duplicate buffer copy [START_REF] Mckusick | A Pageable Memory Based File System[END_REF]. In addition, the multimedia data must not be paged-out of main memory to maintain high-performance [START_REF] Steinmetz | Analyzing the Multimedia Operating System[END_REF]. On the other hand, the proposed file system for mobile computing suffers from the complexity and lack of location transparency [START_REF] Tait | A File System for Mobile Computing[END_REF]. In this paper, the design architecture, a model and an implementation framework of Virtual memory based Mobile Distributed File System (VMDFS) are proposed. In addition, the consistency model of VMDFS is described. The proposed VMDFS architecture may serve as a platform to develop a set of high-end mobile applications such as, mobile multimedia system and the electronic briefcase of digital contents. The VMDFS model incorporates location transparency by employing the concept of Server-Group (SG) embedded into the mobile communication infrastructure. An abstract mathematical model of VMDFS is constructed to establish detail analysis and verification considering the mobility of clients. In order to design and implement VMDFS, the monolithic kernel of Linux 2.4.22 is chosen. The round-trip network paging latencies are measured experimentally for the wired LAN, wireless VPN and 2.5G GPRS considering variable page-sized data blocks. The experimental results demonstrate that VMDFS would be realizable based on 2.5G, 3G or higher mobile communication systems. The distinguishing features of the proposed VMDFS model are as followings.

• The VMDFS design architecture implements the virtual memory based mobile file system on top of the local disk file system to achieve better resource monitoring and utilization along with the reduction of complexity of developing a new mobile file system. • The VMDFS design incorporates location transparency along with the reduction of network-latency using the concept of Server-Group (SG) residing in the cells allowing inter-SG page migration.

• The VMDFS combines the file system and virtual memory system employing the selective page-locks to reduce file access latency and to eliminate duplicate buffer copy.

• Unlike the NFS [START_REF] Honeyman | Communications and Consistency in Mobile File Systems[END_REF], the VMDFS does not require the high-speed reliable network between clients and servers.

• Contrasting the DAFS and RDMA based designs [START_REF] Magoutis | Design and Implementation of a Direct Access File System (DAFS) Kernel Server for FreeBSD[END_REF], the VMDFS does not require any specific hardware support.

• In contrast to Segank [START_REF] Sobti | Segank: A Distributed Mobile Storage System[END_REF], the VMDFS does not require the mobile-clients to be always power-on.

• Contrasting the proposed client-centric file system for mobile computing [START_REF] Tait | A File System for Mobile Computing[END_REF], the mobile clients of VMDFS are free from the task of distributed resource management under mobility. • Unlike Sprite [START_REF] Nelson | Caching in the Sprite Network File System[END_REF], VMDFS does not rely on large client cache and entire cache eviction on client side to maintain write-consistency of files.

The rest of the paper is organized as followings. Section 2 describes the related works. The architecture of VMDFS is illustrated in section 3. An abstract mathematical model and consistency model of VMDFS are illustrated in section 4. Section 5 describes the implementation framework of VMDFS along with the experimental evaluation of networkpaging latency. Section 6 concludes the paper.

Related Works

In order to realize the mobile computing paradigm, the MDVM system is proposed aiming to reduce the computational resource constraints of mobile devices [START_REF] Bagchi | Design Architecture and Model of MDVM System[END_REF]. The MDVM system 3 advocates utilizing the resources of remote server by the mobile clients through wireless communication interface. The existing Distributed Virtual Memory (DVM) systems do not provide an easy way to dynamically use and share DVM resources preserving transparency, adaptability and extensibility [START_REF] Bagchi | Design Architecture and Model of MDVM System[END_REF] [START_REF] Bagchi | MDVM: Architecture, Design Goals and Requirements[END_REF]. The DVM systems become non-scalable under the condition of mobility of clients [START_REF] Bagchi | Design Architecture and Model of MDVM System[END_REF]. The present design architectures of operating systems make it difficult to establish a low latency communication path between the application or middleware and the kernel to access the resources [START_REF] Plagemann | Operating System Support for Multimedia Systems[END_REF] [START_REF] Poellabauer | Kernel Support for the Event-Based Cooperation of Distributed Resource Managers[END_REF]. The user-level and middlewarelevel management of resources to maintain QoS have restrictions due to the granularity of resource management and insufficient fidelity [START_REF] Poellabauer | Kernel Support for the Event-Based Cooperation of Distributed Resource Managers[END_REF]. The KECho [START_REF] Poellabauer | KECho-Event Communication for Distributed Kernel Services[END_REF], Q-channels and ELinux [2][3][4] are the kernel-level architectures to implement the distributed resource management based on event-oriented communication and QoS characteristics. The distributed multimedia file systems have two broad classifications namely, (1) Partitioned FS such as, FFS, RIO, Shark and a combination of UFS and CMFS [START_REF] Plagemann | Operating System Support for Multimedia Systems[END_REF] and, (2) Integrated FS based on multiplexing the disk bandwidth, storage space and the buffer cache among all the multimedia data [START_REF] Plagemann | Operating System Support for Multimedia Systems[END_REF]. The examples of integrated FS are Nemesis FS, Fellini and Symphony [START_REF] Plagemann | Operating System Support for Multimedia Systems[END_REF]. Apart from these, MMFS handles the interactive multimedia applications by extending the UNIX file system [START_REF] Plagemann | Operating System Support for Multimedia Systems[END_REF]. The file systems designed for high-bandwidth and low-latency client-server model are unable to perform in the low-bandwidth and high-latency mobile computing environment [START_REF] Honeyman | Communications and Consistency in Mobile File Systems[END_REF]. Researchers have suggested implementing the disconnected file operations using cache, for example the Coda file system, although this technique fails to take advantage of the network opportunities and is inappropriate for fully connected systems [START_REF] Honeyman | Communications and Consistency in Mobile File Systems[END_REF]. On the other hand, a data staging architecture is proposed to improve the performance of DFS running on the storage limited mobile devices [START_REF]Data Staging on Untrusted Surrogates[END_REF]. This technique opportunistically prefetches the files and caches them on nearby un-trusted surrogate machines [START_REF]Data Staging on Untrusted Surrogates[END_REF]. However, such data staging mechanism is complex and requires multi-path communication between the mobile clients and servers. The DAFS design relies on the kernel-server of FreeBSD operating system, which is a directaccess file system based on the supports provided by the networking hardware (NIC) for userlevel networking [START_REF] Magoutis | Design and Implementation of a Direct Access File System (DAFS) Kernel Server for FreeBSD[END_REF]. It suffers from the hardware dependency and permanent page locking to employ RDMA [START_REF] Magoutis | Design and Implementation of a Direct Access File System (DAFS) Kernel Server for FreeBSD[END_REF]. In a different approach, the Federated DAFS combines user-space DAFS with a low overhead clustering layer to prepare a scalable DAFS cluster [START_REF] Rangarajan | Federated DAFS: Scalable Cluster-Based Direct Access File Servers[END_REF]. However, the Federated DAFS does not consider the mobility of the clients. The Sprite uses large mainmemory to cache disk blocks providing non-write-through file caching [START_REF] Nelson | Caching in the Sprite Network File System[END_REF]. The difficulties associated to Sprite are that it does not consider the mobility of the clients and requires a large cache size in the main memory of the clients. The Sprite bases on entire cache eviction on each client side on the event of file update by any client resulting in repeated file re-caching consuming network bandwidth and time. Inspired by RAM-disk system, a page-able memory based file system is developed [START_REF] Mckusick | A Pageable Memory Based File System[END_REF]. The proposed design architecture aims to reduce the poor utilization of available main memory. However, the proposed solution employs duplicate data copy between file system cache and the system buffers [START_REF] Mckusick | A Pageable Memory Based File System[END_REF]. It is reported that when the variable sized file cache and the virtual memory are coexisting in a system, the concurrent execution of file-intensive processes degrades the overall system performance if the cache pages and the virtual memory system are not treated differently [START_REF] Nelson | Virtual Memory vs. The File System[END_REF]. Instead of permanently locking the virtual memory pages, an adaptive page-locking policy is proposed to maintain the QoS for the large-file-intensive applications [START_REF] Nakajima | Virtual Memory Management for Interactive Continuous Media Applications[END_REF]. The proposed solution performs adequately to maintain the QoS, however, could not reduce the page faults considerably and its performance is dependent on the behaviour of the applications. The architecture of a virtual memory based distributed file system in high-speed wired network environment is proposed in [START_REF] Murphy | A Virtual Memory Distributed File System[END_REF]. It is noted that establishing a large file cache in the virtual memory is possible without introducing any performance degradation [START_REF] Park | Virtual Memory versus File Interfaces for Large, Memory-Intensive Scientific Applications[END_REF]. Apart from designing the file system, an intelligent file hoarding for mobile computers is proposed, which heuristically 4 creates the file set based on file access patterns [START_REF] Tait | Intelligent File Hoarding for Mobile Computers[END_REF]. The network file system such as, NFS, does not utilize the warm cache on the face of disconnection between a client and the server and hence, is not suitable for mobile computing systems [START_REF] Michalakis | Designing an NFS-based Mobile Distributed File System for Ephemeral Sharing in Proximity Networks[END_REF] [START_REF] Anderson | Serverless Network File Systems[END_REF]. Researchers have directed to design the kernel-level NFS client architecture bypassing the kernel buffer cache and thus avoiding data copy [START_REF] Agarwala | System-Level Resource Monitoring in High-Performance Computing Environments[END_REF] [START_REF] Magoutis | Making the Most out of Direct-Access Network Attached Storage[END_REF]. A mobile distributed file system using client-centric update and caching along with lazy propagation has been proposed [START_REF] Tait | A File System for Mobile Computing[END_REF]. However, the main difficulties of this design are the client initiated primary-to-primary lazy copy of entire file set and the client initiated localization of server, which degrades the criteria of location transparency. In addition, due to the lazy update propagation and the client resident cache, the updates are vulnerable to the client crash. The other works related to the clusters, mobile storage systems and data partitioning include DATOM [START_REF] Policroniades | A Data Repository for Fine-Grained Adaptation in Heterogeneous Environments[END_REF], e-vault [START_REF] Iyengar | Design and Implementation of a Secure Distributed Data Repository[END_REF], COMA [START_REF] Renaud | A Cluster Operating System Based on Software COMA Memory Management[END_REF], PersonalRAID [START_REF] Sobti | PersonalRAID: Mobile Storage for Distributed and Disconnected Computers[END_REF] and Segank [START_REF] Sobti | Segank: A Distributed Mobile Storage System[END_REF]. In order to enhance performance, a dynamic set model is developed to overlap the file data fetch and processing [18][20]. This approach is useful for weakly connected mobile clients. However, the fetching policy of dynamic set model may degrade the performance by stalling the applications and it performs poorly in the high-speed network environment [START_REF] Steere | A Case for Dynamic Sets in Operating Systems[END_REF][20]. The design architecture of VMDFS considers the Server-Group (SG) in a cell and SGs of the other cells of the mobile communication architecture. A SG is comprised of a set of resource-fat servers residing in the cells [START_REF] Bagchi | Design Architecture and Model of MDVM System[END_REF]. The servers of a SG in a cell as well as different SGs are connected by high-speed wired TCP/IP network.

The VMDFS Architecture

The VMDFS architecture can be viewed as a distributed file system layered across servers in the SGs accessible by mobile clients with location transparency. The conceptual architecture of VMDFS is shown in Figure 1. The servers in a SG are connected by TCP/IP bus and are attached to the mobile communication backbone. The VMDFS is constructed in the kernel of the operating system of the individual servers in order to achieve better monitoring and utilization of available resources at servers and to establish faster inter-kernel communication system. The detailed architecture of VMDFS residing in the kernel of two servers is shown in Figure 2. The VMDFS architecture can be decomposed into two functional entities namely, VMDFS client and VMDFS server. The VMDFS client has dual functionalities. The VMDFS client residing in the user-space of a server of a SG acts as a server to the mobile clients. On the other hand, the same VMDFS client acts as a client to its local VMDFS server residing in the kernel-space. The user-space resident VMDFS clients in a SG communicate through TCP/IP bus. The kernel-space resident VMDFS servers in a SG communicate using a separate inter-kernel communication channel based on events. The VMDFS servers resident in SGs construct a distributed file system on top of individual local disk file systems. The VMDFS servers create the virtual memory resident page-able file system utilizing available free main memory. As the disk access latency is an order higher than the memory access latency, this enables to reduce data-access latency by decreasing the disk access frequency. Due to the mobility of clients, the resource-load on servers may vary randomly in short time. In order to handle the unpredictable variation of resource-load, the VMDFS servers use a dynamically varying set of virtual memory pages to establish the file system. In order to avoid swapping of file system pages to the high latency disk drive, the page frames are locked temporarily. Based on the resource-load of the system, the page frames are unlocked and flushed to disk if the pages are dirty. Otherwise, the page frames are released to the kernel to balance the resource-load. On the other hand, in case of the long time stability of the system in terms of resource-load, a periodic flushing of dirty pages to the disk storage is employed to attain durability property of the file systems without releasing the page frames to the kernel.

File System Structure

This section describes various components of the file system structure associated to VMDFS. The file system design of VMDFS uses data-caching model based on page-level transfer. The advantages of such design are the reduction of network traffic and the suitability to the diskless mobile thin-clients. Conceptually, the VMDFS residing in the virtual memory pages of a server can be segmented into the metadata structure and the list of data blocks. The file metadata structure of VMDFS maintains per client file status and IO information along with the page update information. The file metadata structure can be marshaled and stored on disk as a file for future reconstruction. The components of the file system structure of VMDFS are depicted in Figure 3. The file structure is fundamentally composed of the sequential stream of File System Blocks (FSB). Each FSB is comprised of File Metadata Structure (FMS), Page Frame List (PFL) and Migrated Page List (MPL). The FMS contains the file metadata information, whereas, the PFL contains the information related to page frames residing in virtual memory area holding the file data blocks. The MPL holds the globally resolvable addresses of pages those are migrated to another server. The List Index (LI) is used to locate a page list of an open file at a VMDFS server in a SG. The LI of each 6 open file at each server is distinct and is formed by concatenating the File Home Address (FHA) and a monotonically increasing integer Sequence Number (SN) assigned to the open files. The File Path Name (FPN) gives the complete path and name of an open file. The File Update Flag (FUF) denotes the consistency states of the file in the file system, whereas, the mobile Client List (CL) denotes the list of client profiles accessing a file. The Number of Disk Blocks (NDB) of a file contains the file size as a multiple of page size and the Number of File Blocks (NFB) depicts the number of file blocks present in virtual memory at any time. The File Security and Sharing Option (FSSO) states the file sharing and security parameters as set by the file owner. The FSSO allows realizing a set of specialized policies such as, selective group-sharing, time-limited sharing, file-fragment sharing and, many-read/oncewrite sharing of files. The Page Rank (PR ≥ 0) is a monotonically increasing integer associated to each page frame holding the file data block and is immutable as long as the file blocks are memory resident. The Page Frame Descriptor (PFD) holds the mutable physical address of the page frame containing file data and the other information related to the page frame. The Write Limit (WL) of each page denotes the length of valid data in a frame from the starting address of the corresponding page frame. The Page Write Log (PWL) contains the updated data of a page in a newly attached page frame having null PR and results in the formation of a tree of page frames. It is to be noted that the page frame in a PWL will have the PR equal to null until the update is merged. Update merging is done by simply readjusting the page frame addresses of the parent PFD and the PFD in PWL. This avoids the memory copy operation and facilitates the roll-back mechanism to recover from the failure. The tree of page frames containing the update log is depicted in Figure 4. The Disk Block Pointer (DBP) of each PFD contains the mutable disk block pointer of the underlying file system for the pages in PFD. During the flush of the updated pages, the pages of each PR are updated based on the update log given in PWL and are sequentially written to the disk starting from the DBP of the page having lowest PR in the PFL. Hence, the future reconstruction of PFL may have different PFD, DBP but the PR remains the same as earlier denoting the file segment marks in the stream of data. The DBP of a page may change due to the file append and truncation operations. Due to the mobility of clients, the network-distance between a server in SG and a mobile client may increase. On the event of hand-off, a mobile client may cross the cell boundary entering in the domain of another SG. In order to reduce the network-cost and dataaccess latency, VMDFS servers employ inter-SG page migration while maintaining consistency of the data blocks. Hence, instead of employing a static file replication among SGs, a page-set replication of a file is created dynamically through page migration. Any update of the migrated page is propagated periodically to the home-location server of the corresponding file. The MPL holds the PR and Page Remote Address (PRA) of the migrated pages where, PRA is a globally resolvable page address of a migrated page given as 〈Remote_Server_Address, LI〉. The mobile clients accessing a file are denoted by individual Client ID (CID), File Mode (FM) of operations such as, read/write and, File Handle (FH) where, FH is given as 〈LI, PR, Offset〉. Each PFD contains the Frame Address (FA) giving the physical address of a page frame and the Frame Lock Bit (FLB) to control the locking of a frame in the main memory. The page migration involves the transaction of 〈FMS, PR, 〈PFL-PFD, WL〉, 〈PWL-PFD, WL〉〉 between the source and destination VMDFS servers. The VMDFS server incorporates page-based file IO using memory mapping approach. The duplicate data copy is avoided by mapping the set of memory-locked page frames into the address space of VMDFS client. As a trusted entity, the VMDFS client releases the page frames on demand due to the increase of memory-load above a predefined threshold in a server.

The VMDFS Model

The memory management system of the operating systems can be modeled with abstract and precise formalism in order to represent the design architecture [START_REF] Liedtke | On µ-kernel Construction[END_REF] [START_REF] Morrisett | Abstract Models of Memory Management[END_REF]. The abstract modeling of the system architecture and memory management mechanisms allow the generalization of the concept and the easiness of understanding without tying up to a particular kind of implementation [START_REF] Liedtke | On µ-kernel Construction[END_REF][34] [START_REF] Nutt | Operating Systems[END_REF]. In this section, the architectural model of VMDFS is constructed in abstract mathematical formulation for detail analysis and verification considering the mobility of clients. A set of properties of VMDFS architecture is explained as theorems. Let, a set of cells is denoted by C α = {α i : i≥ 0, i ∈ I + } and a set of servers S = { s j : j> 0, j ∈ I + }. Let, the binary relation η is defined as η: S → C α such that, ∀α i ,α j ∈C α , ∃s n ∈ S, (s n , α i ) ∈ η ⇒ (s n , α j ) ∉ η. Hence, S will have m = | C α | number of partitions denoted by π 1 , π 2 ……π m such that, ∪ i=1, m π i = S and π i ∩π j = ∅, i,j ≤ m and i ≠ j. A SG is defined as π i ⊂ S for a α i ∈ C α such that, ∀ s i , s j ∈ S, (s i , α i ) ∈ η ∧ (s j , α i ) ∈ η ⇒ s i , s j ∈ π i . Again, ∀s j ∈ π i , F j denotes a set of home-located files at s j and F j = {f j1 , f j2 ,….f ja }, a ∈ I + , a >0. Now, ∀f jx ∈ F j , the set of file blocks is denoted by f jx = 〈b jxn : n∈I + 〉. Similarly, a set of virtual memory pages resident in main memory at s j is denoted by ρ j = {p jm : m ∈ I + , m > 0}. For all s j ∈ S, a binary relation Γ j is defined as, Γ j : π ρ jx → ρ j , where π ρ jx ⊆ ∪ k=1,a f jk , f jk ∈ F j . The property of relation Γ j is that, ∃ b jxl ∈ π ρ jx and ∀p jy , p jz ∈ ρ j , such that, (b jxl , p jy ) ∈ Γ j ⇒ (b jxl , p jz ) ∉ Γ j . In addition, in a π i , the total number of virtual memory pages distributed globally can be computed as V i = ∪ h=1, x ρ h , where x = |π i |.

Definition of ⊥ ⊥ ⊥ ⊥

Let, the symbol ⊥ denotes a precedence relation on ◊ such that, ∃ α i , α j ∈ C α and ∀c i ∈C, the following holds, (

c i ◊ α i )| t-1 ∧ (c i ◊ α j )| t ⇒ (c i ⊥ α i )| t , α i ≠ α j .

Definition of ||

Let, a symbol || denotes the association relation between π V i and the c i ∈C and is presented as

c i || π V i , where π V i ⊂ V i , such that (c i ◊ α i )| t ⇒ c i || π V i , α i ∈ C α . 4.4. Definition of c i ||π π π π V ij
If, at time instant t-1 and at the next time instant t,

∀ α i , α j ∈ C α , ∃ c i ∈C then, (c i ◊ α i )| t-1 ∧ (c i ◊ α j )| t ⇔ c i ||π V ij , where π V ij = π V j ∪ (β j ο Γ i ), β j : Γ i → V j , π V j ⊂ V j and V j = ∪ h=1, x ρ h , where x = |π j |.

Definition of VMDFS

For all c i ∈C and an integer

n > 1, if (c i ◊ α i )| t-n ∧ (c i ◊ α j )| t-n+1 …….∧ (c i ◊ α m )| t then, the VMDFS of c i is defined as, c i || π V ij....m where, π V i ⊂ V i , π V j ⊂ V j ,..….π V m ⊂ V m and α i , α j , … α m ∈ C α .

Properties of VMDFS Model

Theorem 1: Conjunctive predicate property Statement:

(c i ◊ α i )| t-1 ∧ ¬ (c i ◊ α i )| t ⇒ (c i ⊥ α i )| t , where α i ∈ C α , c i ∈C. Proof: Let, α j ∈ C α and α i ≠ α j such that (c i ◊ α j )| t . Then, (c i ◊ α i )| t-1 ∧ (c i ◊ α j )| t ⇒ (c i ◊ α i )| t-1 ∧ ¬ (c i ◊ α i )| t . Again, at time t, (c i ◊ α j )| t and at time t-1, (c i ◊ α i )| t-1 . Hence, ¬ (c i ◊ α i )| t ⇔ (c i ◊ α j )| t . So, (c i ◊ α i )| t-1 ∧ ¬ (c i ◊ α i )| t ⇒ (c i ◊ α i )| t-1 ∧ (c i ◊ α j )| t . However, from the definition of ⊥, (c i ◊ α i )| t-1 ∧ (c i ◊ α j )| t ⇒ (c i ⊥ α i )| t . Hence, (c i ◊ α i )| t-1 ∧ ¬ (c i ◊ α i )| t ⇒ (c i ⊥ α i )| t .
Description: The conjunctive predicate property of VMDFS constructs the mobility-graph of a mobile client. Let, at time t, (c i ◊ α i )| t . If the mobile client notifies to a VMDFS server in α i that (c i ⊥ α j )| t then, the server in α i may contact another VMDFS server in α j ∈ C α to discover that (c i ⊥ α k )| t-1 , α k ∈ C α . Hence, the VMDFS server in α i will construct a conjunctive predicate denoted by

(c i ◊ α k )| t-2 ∧ (c i ◊ α j )| t-1 ∧ (c i ◊ α i )| t ,
which is a mobility-graph of c i ∈C in this case. This enables a VMDFS server to construct and maintain the page-set of a mobile client by dynamically constructing the mobility-graph.

Theorem 2: Distribution property Statement:

(c i ◊ α j )| t ∧ (c i ⊥ α i )| t ⇒ c i ||π V ij , where α i , α j ∈ C α , c i ∈C. Proof: As, (c i ⊥ α i )| t ⇒ ¬ (c i ◊ α i )| t , hence, (c i ◊ α j )| t ∧ (c i ⊥ α i )| t ⇒ (c i ◊ α j )| t ∧ ¬ (c i ◊ α i )| t .
However, according to the statement (c i ◊ α j )| t is true. Hence, in the two consecutive time 9 intervals t-1 and t, (

c i ◊ α j )| t ∧ ¬ (c i ◊ α i )| t ⇒ (c i ◊ α i )| t-1 ∧ (c i ◊ α j )| t ⇒ c i ||π V
ij (from the definition 4.4). Description: The distribution property of VMDFS explains that pages of a file in VMDFS may be located at a set of servers residing in different SGs.

Theorem 3: Vector property Statement: c i ||π V ij ≠ c i ||π V ji . Proof: Let, π V i ⊂ V i , π V j ⊂ V j , π ρ ix ⊆ ∪ k=1,a f ik , π ρ jx ⊆ ∪ k=1,b f jk , p ix ∈ ρ i and p jy ∈ ρ j . Now, from the definition 4.4, c i ||π V ij ⇒ c i ||π V j ∪ β j (Γ i (π ρ ix )) ⇒ c i ||π V j ∪ β j (e i ) ⇒ c i ||π V j ∪ v j , where v j ⊂ V j and e i ⊂ ρ i . Again, c i ||π V ji ⇒ c i ||π V i ∪ β i (Γ j (π ρ jx )) ⇒ c i ||π V i ∪ β i (e j ) ⇒ c i ||π V i ∪ v i
, where v i ⊂ V i and e j ⊂ ρ j. Hence, c i ||π V ij ≠ c i ||π V ji . Description: The vector property captures the location dependent page migration concept of the VMDFS model. The mobility of a client from cell to cell incorporates the corresponding page-set migration from the source location to the destination, where the characteristics of the page-set are vectors.

Theorem 4: Convergence property Statement: c i ||π V iji ⊂ ρ i . Proof: Let, π V i ⊂ V i , π V j ⊂ V j . Following the definition of c i ||π V ij , c i ||π V iji ⇒ (c i ◊ α i )| t-2 ∧ (c i ◊ α j )| t-1 ∧ (c i ◊ α i )| t . Let, t-1 = x. So, (c i ◊ α i )| t-2 ∧ (c i ◊ α j )| t-1 = (c i ◊ α i )| x-1 ∧ (c i ◊ α j )| x . However, from the definition 4.2, (c i ◊ α i )| x-1 ∧ (c i ◊ α j )| x ⇒ (c i ⊥ α i )| x . Hence, c i ||π V iji ⇒ (c i ◊ α i )| t ∧ (c i ⊥ α i )| t-1 ⇒ (c i ◊ α i )| t ∧ ¬ (c i ◊ α i )| t-1 . But, at time instant t-1, ¬ (c i ◊ α i )| t-1 ⇒ (c i ◊ α j )| t-1 . Hence, c i ||π V iji ⇒ (c i ◊ α j )| t-1 ∧ (c i ◊ α i )| t ⇒ c i ||π V ji (from definition 4.4). Again, c i ||π V ji ⇒ c i ||π V i ∪ v i where, v i ⊂ V i . As, (π V i ∪ v i ) ⊂ V i , hence, c i ||π V iji ⊂ ρ i . Description:
The convergence property of VMDFS denotes that based on the circuit in mobility-graph of a client, the migration of distributed pages of a file converges to a vertex in the set of vertices of the corresponding circuit.

VMDFS Consistency Model

The VMDFS model employs dynamic page-set replication of the files among the servers of SGs based on the access pattern of the files and the hand-off of the mobile clients. A complete file may get replicated dynamically if all the pages of that file are hot for the mobile clients while initiating a hand-off. Instead of employing directory-level lock granularity, the VMDFS design incorporated file-level lock granularity to maintain consistency. The VMDFS follows the concept of Pipeline RAM (PRAM) consistency model with memory coherence where, the write operations of a mobile client on pages are seen in a pipeline by all the other mobile clients accessing the file. For example, if a mobile client updates two pages p1 and p2 of a file in that order then, all the other mobile clients will see either (w1, w2) or (w2, w1). A file in VMDFS may have three read/write consistency states namely, read-consistent state (RC), write-wait-consistent state (WC) and read-write-consistent state (RWC). The readconsistent state denotes that the file is opened in read mode by mobile clients and hence, the cached data is read consistent. The write-wait consistent state of a file indicates that at most one mobile client has opened the file in write mode, however, the update is not propagated to the other mobile clients. In this state, a portion of the file data cached as pages at mobile clients may become stale and needs update propagation. The read-write-consistent state indicates that a mobile client, who is in read-consistent or write-consistent states, has failed or disconnected and hence, the data cache held by such client is stale needing entire cache update. According to the PRAM consistency model, the write updates by a mobile client are 10 propagated in a pipeline to all the other mobile clients holding the data page in the cache. Whenever a mobile client requests and gets a write-lock of a file from the home server of the file, all the other mobile clients holding the file pages of that file in read mode are notified by the server about the transition of the file from read-consistent state to write-wait-consistent state. The file home server periodically pulls the updated pages from the mobile client holding the write-lock and pushes the updated pages to the other mobile clients. When the mobile client releases the write-lock, the file home server notifies to all other mobile clients about the change of file state from write-wait-consistent state to read-consistent state and the file home server marks internally the file state as read-consistent state. At any time, at most one mobile client can acquire the write-lock of a file and the other concurrent requests to acquire a write-lock will be in the queue. The write-lock requests in the queue are processed in the FIFO order. On the event of detection of failure of a mobile client, the VMDFS server enforces the release of the write lock held by the failed mobile client. This prevents the starvation of the other mobile clients. A failed mobile client, after its recovery, puts itself in the read-write-consistent state and updates the entire cache as well as the current file state. The VMDFS server can detect a potential failure of a mobile client holding a write lock through the non-responding periodic pull of the page updates. The server-side and mobile client-side consistency models are illustrated in Figure 5.

Implementation

Components of VMDFS

The entire implementation of VMDFS is segmented into five parts namely, (1) Establishing the kernel framework, (2) Realizing the file system structures and handling page-block oriented update logging and data consistency, (3) Handling resource-load balancing, page migration and global page addressing, (4) Periodic update propagation to home server based on periodic-pull model and, (5) Realizing security and sharing policies. This section briefly describes the implementation framework of VMDFS in the Linux kernel 2.4.22. The entire VMDFS system architecture is composed of two components namely, VMDFS client and VMDFS server. The VMDFS client resides in the user-space and corresponding VMDFS server resides in the kernel-space. The VMDFS client communicates with the VMDFS server using the device interface exported by the VMDFS server. The designing of the VMDFS architecture considers the allocation of VMA (Virtual Memory Areas) such that each mobile client will have individual VMA. However, the totally allocated VMA to a mobile client consists of the sum of virtual memory areas allocated separately. Each of the allocated virtual memory area is represented by a file descriptor. Each mobile client is distinguished by the individual client IDs. There are two types of file descriptors allocated to a mobile client. One file descriptor is allocated to a mobile client for accessing the device file (fd_D) and another one is assigned to access the disk file system (fd_F). The fd_D descriptor is used to map page frames in the VMDFS client address space through VMDFS server interface. Based on the mobility, the state of mobile clients and resource-load on server, the page frames are selectively locked forcing the virtual memory system of kernel to make the hot pages memory resident. On the other hand, the fd_F descriptor is used to swap a part of the mapped page frames to local disk file system by the VMDFS client. The components of VMDFS implementation showing the organizational structure of VMA allocation is shown in Figure 6. The advantages of such design are: (1) selective page-frame locking is employable for active mobile clients achieving load-balancing and reduction in access latency, (2) selective page swap is possible for a client depending on the size of the VMA and, (3) the freeing of memory 11 can be done by spanning the VMA of multiple clients. Towards the lower end of the implementation, the VMDFS client maintains all the VMA in a list having a root VMA. The root VMA does not allocate any virtual memory area descriptor but points to the list of VMA devices. Each of the VMA devices contains a list of page frame descriptors. Each of the page frame descriptors associated to a VMA device contains a number of page frames and associated data members. In addition to the list of the page frame descriptors, each VMA device contains a reference to the virtual_memory_area data structure of kernel associated to each VMA device. The page fault handler routine of VMDFS server is same for all VMA devices and is installed in the kernel through the virtual_memory_operations data structure of the kernel.

Network Paging Latency

The network paging latencies of the existing networking technologies are experimentally measured to compare and understand the impact of page migration on VMDFS. The communication technologies chosen for the experimentations are, 1. Wired LAN (100Mbps), 2. Wireless Virtual Private Network (10Mbps) and 3. Cellular network 2.5G (57.6Kbps GPRS). The round-trip latencies are depicted in Table 1. The results indicate that VMDFS is a promising reality considering 2.5G and higher systems having substantially higher bandwidth and reliability as compared to the 2G.

Conclusions

This paper proposes the concept, design architecture, model and an implementation framework of Virtual memory-based Mobile Distributed File System (VMDFS). The VMDFS will allow the resource constrained mobile devices to access remote resources to create, distribute/share and access the digital contents comprised of heterogeneous data under the mobility of clients. The VMDFS may serve as a platform to develop the high-end mobile applications. An abstract mathematical model of VMDFS is constructed and a set of properties is evaluated for detail analysis and verification considering the mobility of clients. The consistency model of VMDFS is illustrated. The VMDFS design incorporates dynamic page-locks and page migration in order to achieve better resource utilization providing highperformance and reduction of network-cost along with data access latency. The monolithic Linux kernel is chosen for experimental prototype development. The round-trip network paging latencies for page-sized file blocks are experimentally evaluated in wired LAN, wireless VPN and 2.5G GPRS. The round-trip network paging latency values illustrate that VMDFS would be a promising reality utilizing the 2.5G, 3G and higher mobile communication systems.

Figure 1 .Figure 2 .

 12 Figure 1. Conceptual Architecture of VMDFS. Server 1 Server 2

Figure 3 .Figure 4 .

 34 Figure 3. The File System Structure of VMDFS.

Figure 5 . 12 FHFigure 6 .

 5126 Figure 5. The Server-side and Mobile-client-side Consistency Models, QL : Queue Length.

  Let, the symbol ◊ denotes a relation between C α and C, where C is a set of mobile clients, C = {c 1 , c 2 , …c n }, n >> 0 such that, at time t, if c i ∈ C and c i is in the cell α i ∈ C α then, (c i ◊ α i )| t .

	4.1. Definition of ◊ ◊ ◊ ◊
	FHA SN	CID FM FH	FA FLB	PFD WL
	LI FPN FUF CL NDB NFB FSSO	PR PFD WL DBP PWL	PR PRA
		FMS PFL MPL
		File System Block1 (FSB1)	………….	FSBn
	8

Table 1 .

 1 Round-trip Network Latency of Page Transfers.

	Networks	4KB	8KB	16KB	32KB
	Wired LAN	7.06ms	106.7ms	108.4ms	207.35ms
	Wireless VPN	290.25ms	312.75ms	354.5ms	346.25ms
	2.5G Mobile Network	6.4sec	9.52sec	17.26sec	33.45sec

13 7. References


Mouloud Ourak

Brahim Tamadazte
email: brahim.tamadazte@femto-st.fr

Ieee Member

Olivier Lehmaan

Nicolas Andreff

Direct Visual Servoing using Wavelet Coefficients

This paper focuses on the design of a 6 degreesof-freedom (DoF) visual servoing control law. Instead of use of geometric visual features in standard vision-based approaches, the proposed controller makes use of wavelet coefficients as control signal inputs. It uses the multiple resolution coefficients representing the wavelet transform of an image in the spatial domain. The main contributions are the definition of the multiple resolution wavelet interaction model that links the time-variation of wavelet coefficients to the robot spatial velocity and the associated task function controller. The proposed control law was tested and validated experimentally using a commercial micromanipulator in an eye-to-hand configuration. To be able to judge the efficiency of the control law, several validation tests were carried out under different conditions of use i.e., large illumination variations, noisy images, partial occlusions and using unknown 3D scenes. It is also demonstrated experimentally that the proposed approach outperforms, the well-known photometry visual servoing as well as a feature-based visual servoing, namely in unfavorable conditions of use.

I. INTRODUCTION

A. Overview and Motivations

T HE control of a dynamic system through real-time and continuous visual feedback is known as visual servoing [START_REF] Chaumette | Visual servo control. I. basic approaches[END_REF], whereas the continuous observation of objects and the extraction of the corresponding visual features (usually geometric information) is referred to as visual tracking. Obviously, there is duality between both themes. In feature-based visual servoing, the success of the designed control law depends imperatively on the success of the spatio-temporal tracking method (speed, accuracy, robustness, redundancy of the visual features, etc.). Designing an efficient and robust visual tracking algorithm is a non-trivial task and it is considered as one of the bottlenecks of the expansion of visual servoing in different applications [START_REF] Fanni | A New 6-DOF Quadrotor Manipulation System: Design Kinematics Dynamics and Control[END_REF].

To tackle this limitation, new visual servoing paradigms have appeared in the literature which demonstrate that the design of a vision-based control law can completely overcome the visual tracking task in the control loop. These approaches are referred to as featureless visual servoing [START_REF] Koichiro | A direct interpretation of dynamic images with camera and object motions for vision guided robot control[END_REF] also known as direct visual servoing methods. Thus, during the last decade, several methods were proposed using the global image information as the signal input into the control loop: image-intensity [START_REF] Kallem | Kernel-based visual servoing[END_REF]- [START_REF] Teuliere | A dense and direct approach to visual servoing using depth maps[END_REF], spatio-temporal gradients [START_REF] Marchand | Using image gradient as a visual feature for visual servoing[END_REF], histogram-based method [START_REF] Bateux | Histograms-based Visual Servoing[END_REF], photometric Gaussian mixtures [START_REF] Crombez | Photometric Gaussian mixtures based visual servoing[END_REF], photometric moments [START_REF] Bakthavatchalam | A Direct Dense Visual Servoing Approach using Photometric Moments[END_REF], etc. Using global image information allows also improving both the accuracy and the robustness of visual servoing tasks thanks to the redundancy of the information used to design the interaction model [START_REF] Collewet | Photometric visual servoing[END_REF]. In [START_REF] Bateux | Training Deep Neural Networks for Visual Servoing[END_REF], the authors have investigated the use of neural network to estimate the interaction matrix of a direct visual servoing under several pertubations (occlusions, lighting variations, etc.). It has been demontrated that using the neural network, it allowed to overcome the photometric visual servoing drawbacks.

Although these techniques are different from the conventional geometric feature-based control schemes, their aim remains the same. This means that the robot, from its initial pose r(t) (r ∈ SE(3)), must reach accurately a desired pose r * using an optimization algorithm of the associated cost-function. The camera velocity twist is then computed using the timederivation of the cost function with respect to the camera pose r. As mentioned above, the direct methods have demonstrated very interesting behavior in terms of accuracy and robustness. However, it has been shown that these approaches suffer in term of convergence domain as well as important environment variations compared to the traditional visual servoing [START_REF] Collewet | Photometric visual servoing[END_REF].

To overcome these limits, additional kinds of information have been studied such as mutual information [START_REF] Dame | Mutual Information-Based Visual Servoing[END_REF]. This method does not consider directly the pure image information (e.g., pixels intensities) but the mutual dependence signal (e.g., the joint-entropy) between a pair of images. Thereby, if two images are perfectly aligned, the mutual information value must be higher than the shifted image. In this work, the authors demonstrated that mutual information-based visual servoing is more robust with respect to the image-intensity-based method, namely in unfavorable conditions.

Another trivial solution to increase the robustness of the visual servoing control law with respect to unfavorable signalto-noise ratio and important environment variations, is to use noise-free global image information. Indeed, instead of using a spatio-temporal image information (intensity, gradient, entropy, etc.), it is possible to consider original image information such as time-frequency image representations. Thereby, this paper addresses a new direct visual servoing scheme which uses wavelet coefficients as the signal input into the control loop. In fact, wavelets theory present a stable mathematical tool for multiscale image representation. Incidentally, wavelet transform is a representation of a signal by an orthonormal series of functions called wavelets [START_REF] Meyer | Wavelet -algorithms and applications[END_REF], [START_REF] Daubechies | Ten lectures on wavelet[END_REF]. It was demonstrated that wavelet transform yields an efficient and simultaneous representation of the signal in both time and frequency domains as well as a lossless inverse transform. Consequently, wavelet transform has been widely considered in numerous image processing and vision domains: image and data compression (JPEG2000) [START_REF] Marcellin | JPEG2000 Image Compression Fundamentals, Standards and Practice: Image Compression Fundamentals, Standards, and Practice[END_REF], image smoothing and denoising [START_REF] Portilla | Image denoising using scale mixtures of gaussians in the wavelet domain[END_REF], visual tracking [START_REF] He | Object tracking using the gabor wavelet transform and the golden section algorithm[END_REF], etc.

Traditionally, continuous wavelets can be viewed as an extension of Fourier transform. The main difference consists in that wavelets allow a simultaneous representation of the signal (respectively, the image) in both time and frequency domains, whereas the standard Fourier transform is only localized in the frequency domain. Fourier transform was investigated in the past to design control laws and it has demonstrated interesting properties of robustness and accuracy [START_REF] Marturi | Visual servoing schemes for automatic nanopositioning under scanning electron microscope[END_REF]- [START_REF] Marturi | Image-Guided Nanopositioning Scheme for SEM[END_REF].

More recently, shearlet image decomposition was studied in [START_REF] Duflot | Shearletbased vs. Photometric-based Visual Servoing for Robot-assisted Medical Applications[END_REF]- [START_REF] Duflot | Wavelet and Shearlet-based Image Representations for Visual Servoing[END_REF] showing also interesting performances to achieve 6 DoF positioning tasks.

B. Contributions

In this paper, we develop a 6 DoF visual servoing control law based on the multi-resolution wavelet transform. Unlike the image intensities-based approaches, our approach uses the wavelet coefficients to build the control law. To do this, we established the interaction model (i.e., interaction matrix) between the time-variation of the wavelet coefficients and the spatial robot velocity. In this work, we combined Mallat's multiple resolution wavelet algorithm [START_REF] Mallat | A theory for multiresolution signal decomposition: the wavelet representation[END_REF] with the optical flow constraint equation (OFCE) for the derivation of the interaction matrix. Due the fact that the wavelet transform is multiscale, then the interaction model is also trivially multiscale. This means that, it becomes possible to switch from different interaction matrices (without additional calculation) in function of the positioning task to be performed.

Furthermore, wavelet transform can be seen as a spatiotemporal filter which is able to separate the signal of interest from the noise even when there spectral overlap between both (e.g., image contours) [START_REF] Xu | Wavelet transform domain filters: a spatially selective noise filtration technique[END_REF]. Thereby, to the best of our knowledge, we propose for the first time (put aside our preliminary conference paper [START_REF] Ourak | Wavelet-based 6 dof visual servoing[END_REF]) a robust and accurate visual servoing control law tacking into account the wavelet coefficients as the control signal inputs. Complementary to [START_REF] Ourak | Wavelet-based 6 dof visual servoing[END_REF], this paper provides a complete and optimized reformulation of the waveletbased visual servoing control law by taking into account the multiresolution aspect of the wavelet coefficients during the design of the related interaction matrix. For instance, the extended method offers the possibility to adapt the interaction matrix in function during the achievement of the positioning task without any additional computation. As example, the operator can choose a high resolution at the beginning of the positioning task and decrease automatically the resolution in function of the positioning error. This allows enhancing the convergence domain while guaranteeing high accuracy at the end of the positioning task. In fact, we were interested in tudying the impact of the wavelet coefficients resolution on the controller behavior and performances. The proposed method and materials were validated in both simulation and experimental manners using various favorable and unfavorable scenarios. Finally, a comparison study with the photometry as well as the conventional points-based visual servoing methods was provided.

In the remainder of this paper, Section II reminds the basics of a visual servoing scheme. Section III presents a general formulation of the multiresolution wavelet decomposition which allows following the different steps of the design of the new visual servoing control law. The timevariation of the wavelet coefficients with respect to the camera displacement as well as the derived visual servoing control law are detailed in Section IV while its simulation as well as experimental validations are shown in Section V. Also, the proposed method is compared to both the photometric and the points-based visual servoing methods in Section VI. This paper ends with a discussion about the potential of such controller in medical context, e.g., high accurate automatic positioning of an OCT (Optical Coherence Tomography) probe in case of repetitive optical biopsies investigation (preliminary results are discussed).

II. BASICS OF VISUAL SERVOING

A. Feature-based Visual Servoing

According to [START_REF] Chaumette | Visual servo control. I. basic approaches[END_REF], the aim of a visual servoing is to control the motion of a dynamic system in order to allow a set of geometric visual features s (s ∈ R k ) defining a robot pose r(t) ∈ SE(3) i.e., s = s r(t) to reach a set of desired ones s * (s * ∈ R k ) by minimizing a visual error given by e = s r(t) -s *

(1)

The time-variation of s is linked to the velocity twist v = (v x v y v z ω x ω y ω z ) of the camera frame by s = L s v, where L s ∈ R k×6 is commonly called the interaction matrix (or Jacobian image in certain papers).

From [START_REF] Chaumette | Visual servo control. I. basic approaches[END_REF], the variation of the visual error e due to the visual sensor velocity is e = L s vs * .

(

) 2
If s * = 0 and if one want to ensure an exponential decoupled decrease of the error e ( e = -λe), it becomes possible to express the velocity tensor, using (2), as follows

v = -λ L s + s(t) -s * (3)
where λ is a positive gain and L s

+ L s + = L s L s -1 L s
is the Moore-Penrose pseudo-inverse of the approximated interaction matrix denoted L s . Not that the stability issues regarding this kind of controller are discussed in [?].

B. Direct Visual Servoing

Generally, in a direct visual servoing approach (e.g., photometry), the control task is considered as an alignment between the current image I(r) and the desired one I (case of static desired position). For instance, in [START_REF] Collewet | Photometric visual servoing[END_REF], the visual servoing task is treated as an optimization problem defined as follows arg min

r ∑ I(r) -I * (4)
To solve this optimization problem, [START_REF] Collewet | Photometric visual servoing[END_REF] consider the optical flow constraint equation of a world point between two successive images. This allows writing

I(x,t) = I(x + δx,t + δt) ( 5
)
where δx is small displacement of a point x during a short time interval δt.

The time-derivation of (5) allows writing

I + I x = 0 (6)
where is the image gradient. By introducing the 2D-point interaction matrices L x and L y (as defined in [START_REF] Chaumette | Visual servo control. I. basic approaches[END_REF]) and some mathematical manipulations, the authors of [START_REF] Collewet | Photometric visual servoing[END_REF] obtain the global interaction matrix for each pixel L I = -

I x L x + I y L y (7)
As can be shown, the interaction matrix L I depends on the image intensities as well as the image gradient. This can raise some problems concerning robustness of this approach in case of unstable illumination.

III. MULTIPLE RESOLUTION WAVELET COEFFICIENTS AS VISUAL SIGNAL

As claimed before, in this paper, the use of wavelet coefficients as visual features to build our control law constitutes the core of this work. Consequently, for a better understanding of the different followed steps to design the visual servoing control law, it is appropriate to remember some basics of the wavelet decomposition.

First, a wavelet transform is defined as a L 2 -inner product between a 2D signal F and a wavelet function Ψ given by

F, G j,m = R 2 F(x, y)D j 2 T m Ψ(x, y) dxdy (8)
where j ∈ Z defines the scale and m = (m 1 , m 2 ) ∈ Z 2 the location of the wavelet Ψ j,m = D This transform can be categorized into different groups as continuous [START_REF] Meyer | Wavelet -algorithms and applications[END_REF], discrete [START_REF] Daubechies | Ten lectures on wavelet[END_REF] and multiple resolution [START_REF] Mallat | A theory for multiresolution signal decomposition: the wavelet representation[END_REF]. In [START_REF] Ourak | Automated in-plane OCT-probe positioning towards repetitive optical biopsies[END_REF], we developed a direct pose-based visual servoing control law in which the control signal inputs consisted of the frequency spectral information computed by the continuous wavelet transform. However, it has been shown that the calculation of the out-plane rotations remains very challenging. Therefore, in this paper, we will focus of the second family of wavelets, i.e., the multiple resolution decomposition.

A. Multiple Resolution Wavelet Transform

The multiple resolution wavelet transform (MRWT) has essentially the ability to represent an image at different resolutions without any loss of information, in both decomposition or re-composition of the image without loss of the signal details. Actually, the difference of information subtracted in the decimation is trivially and simultaneously accessible through the wavelet coefficients. Indeed, at resolution 2 -j , the MRWT decomposes the image into sub-images, which are: 1) the new filtered image at a resolution 2 -( j+1) , and 2) the difference of inormation between the two consecutive resolutions.'

The MRWT method computes the orthogonal projections (coordinates) of the signal F on the sub-spaces V 2 j and W k 2 j (k=0,...,n) related to the new image and the difference of information, respectively. More precisely, these coordinates are computed thanks to two functions:

• scaling function Φ defined by

Φ j,m = √ 2 -j Φ 2 j (m -2 -jk ) ( 9
)
where m is the signal coordinates, k = (k 1 , k 2 ) are integers.

• and the mother wavelet Ψ is given by

Ψ j,m = √ 2 -j Ψ 2 j (m -2 -jk ) (10)
The multiresolution wavelet decomposition offers numerous interesting properties. For instance, it leads to compute the coefficients coordinates using a linear filtering and decimation (∆) (i.e., keep one pixel of two). An algorithm was developed by Mallat [START_REF] Mallat | A theory for multiresolution signal decomposition: the wavelet representation[END_REF] in which it is proposed to discretize ( 9) and ( 10), using low and high pass discrrete filters. In our approach, we choose the fourth order Daubechies wavelet filters (db4) [START_REF] Daubechies | Ten lectures on wavelet[END_REF] accessible from the wavelets MATLAB toolbox. These filters are defined by the following convolution masks:

• Scaling function Φ is a low pass discrete filter l db4 f x , ξ l = {-0.01, 0.03, 0.03, -0.18, -0.02, 0.63, 0.71, 0.23}. • Mother wavelet Ψ is a high pass discrete filter h db4 f x , ξ h = {-0.2,
0.7, -0.63, -0.02, 0.18, 0.03, -0.03, -0.01} and constructed from Φ, fully respecting the conditions cited in [START_REF] Mallat | A theory for multiresolution signal decomposition: the wavelet representation[END_REF]. The pair of filters is applied to the image through a set of 4 combined operations [START_REF] Mallat | A theory for multiresolution signal decomposition: the wavelet representation[END_REF] as follows

Γ 0 = ∆ • l db4 • ∆ • l db4 (11)
Γ H = ∆ • h db4 • ∆ • l db4 (12)
Γ V = ∆ • l db4 • ∆ • h db4 (13)
Γ D = ∆ • h db4 • ∆ • h db4 (14)
where the operator • represents a convolution operation. The set of inner products (8) using the N × M image I (2 -( j) ) and the wavelet function [START_REF] Crombez | Photometric Gaussian mixtures based visual servoing[END_REF], allows writing

I 2 -( j+1) (u, v) = I 2 -j (x, y), Γ 0 (x, y) N×M ( 15
)
where

I 2 -( j+1) is the new image at resolution j +1 (i.e., N 2 ( j+1) × M 2 ( j+1) ) called the approximation signal.
Then, the computation of ( 8) with the image I 2 -( j) and the wavelet functions [START_REF] Bakthavatchalam | A Direct Dense Visual Servoing Approach using Photometric Moments[END_REF] to [START_REF] Ourak | Wavelet-based 6 dof visual servoing[END_REF] gives the so-called detail signal or difference of information

d k 2 -( j+1) (k=H,V,D) as d k 2 -( j+1) (u, v) = I 2 -j (x, y), Γ k (x, y) N×M , ∀k = H,V, D (16)
with H the horizontal, V the vertical, and D the diagonal orientations.

B. Building the Visual Features Vector

The mathematical model for optical flow constraint is based on the time-independent of the brightness assumption [START_REF] Horn | Determining optical flow[END_REF]. Indeed, it is possible to generalize the optical flow constraint equation (OFCE) given in ( 5) to a whole image I. Thereby, according to [START_REF] Bernard | Wavelet and ill-posed problems: optic flow estimation and scattered data interpolation[END_REF], the OFCE can be extended to the MRWT. Therefore, for each image point having the coordinates p = (u, v) , it is possible to write

I 2 -( j+1) (u, v), ∂Γ H (u, v) ∂u u + I 2 -( j+1) (u, v), ∂Γ V (u, v) ∂v v + ∂ ∂t I 2 -( j+1) (u, v), Γ 0 (u, v) = 0 (17)
To simplify the notation, let us introduce

g H 2 -( j+1) (u, v) I 2 -j (u, v), ∂Γ H ∂u (u, v) (18)
g V 2 -( j+1) (u, v) I 2 -j (u, v), ∂Γ V ∂v (u, v) (19)
and reformulate [START_REF] Daubechies | Ten lectures on wavelet[END_REF] as

g H 2 -( j+1) (u, v) u + g V 2 -( j+1) (u, v) v + ∂ ∂t I 2 -( j+1) (u, v) = 0 (20)
or, in a matrix form

d dt I 2 -( j+1) (u, v) = g H 2 -( j+1) (u, v) g V 2 -( j+1) (u, v) u v (21)
where, u and v are obtained from x and y by the camera calibration matrix. Thus,

u v = α u 0 0 α v x y (22)
where α u and α v represent the focal length in terms of pixels and x and y represent the velocity of an image point of the coordinates (x, y) . So, by merging [START_REF] Guelpa | Single Frequency-based Visual Servoing for Microrobotics Applications[END_REF] in [START_REF] Marturi | Image-Guided Nanopositioning Scheme for SEM[END_REF], we obtain

d dt I 2 -( j+1) (u, v) = g H 2 -( j+1) (u, v) g V 2 -( j+1) (u, v) α u 0 0 α v x y (23)
Furthermore, it is possible to express x and y as function of the camera velocity tensor c v c thanks to the 2D-point interaction matrix L 2D as defined in [START_REF] Chaumette | Visual servo control. I. basic approaches[END_REF]. Thus,

x y = L c 2D v c (24)
where,

L 2D = -1/Z 0 x/Z xy -(1 + x 2 ) y 0 -1/Z y/Z -(1 + y 2 ) -xy -x (25)
By introducing ( 24) and ( 25) in [START_REF] Marturi | Image-Guided Nanopositioning Scheme for SEM[END_REF], and by omitting the pixel coordinates in various frames for the sake of readability, we finally get

∂ ∂t I 2 -( j+1) = -g H 2 -( j+1) g V 2 -( j+1) α u 0 0 α v L 2D c v c ( 26
)
The interaction matrix associated to the wavelet coefficients is then expressed in each pixel as follows

L w 2 -( j+1) = -g H 2 -( j+1) g V 2 -( j+1) α u 0 0 α v L 2D (27)
From ( 26), it can be underlined that the interaction matrix is built using the time-derivative wavelet coefficients. The depth Z is estimated once at the desired position. Now, let us consider the down sampled image

I 2 -( j+1) of size of N 2 ( j+1) × M 2 ( j+1)
, as a visual feature vector w. Thus,

w 2 -( j+1) = vec I 2 -( j+1) =       I 2 -( j+1) (1,1) I 2 -( j+1) (1,2)
. . .

I 2 -( j+1) (M,N)       (28)
Thus, we can write the whole wavelet variation in function of the robot velocity thanks to the whole wavelet interaction matrix L w 2 -( j+1) as

w = L w 2 -( j+1) c v c ( 29
)
which is obtained by the vertical concatenation of all L w 2 -( j+1) 's in [START_REF] Duflot | Wavelet and Shearlet-based Image Representations for Visual Servoing[END_REF] as follows

L w =       L w 2 -( j+1) (1,1) L w 2 -( j+1) (1,2)
. . .

L w 2 -( j+1) (M,N)       (30)
IV. CONTROL

A. Control Law

Having the analytical wavelet interaction matrix, it becomes trivial to design the related control law. Actually, following (3) allows writing the following controller

c v c = -λ L + w w -w * (31)
Actually, to ensure a stable and smooth control, we use the Levenberg-Marquardt method [START_REF] Lourakis | A brief description of the levenberg-marquardt algorithm implemented by levmar[END_REF] rather than the usual Gauss-Newton or Gradient descent optimization as addressed in [START_REF] Collewet | Photometric visual servoing[END_REF]. The choice of Levenberg-Marquardt leads us to write the robot velocity in the camera's frame R c as

c v c = -λ µI 6×6 + L w L w -1 L w + (w -w * ) ( 32
)
where µ is a constant positive scalar, and I 6×6 is the identity matrix.

Our system (Fig. 6) is designed in an eye-to-hand configuration. Thus, the relation between the robot velocity q and the camera one c v c is obtained as follows

q = -e K b b V c c v c ( 33
)
where e K b is the inverse kinematic Jacobian matrix of the robot in the base frame R b , and b V c is the transformation

Robot

-λ I I (1/2) I * I * (1/2) c v c e s s * L w + g H (1/2) g v (1/2) ∇ l db4 l db4 ∇ ∂h db4 ∂l db4 ∇ ∇ ∂l db4 ∂h db4 ∇ ∇ l db4 l db4 ∇ ∇ ∂f x ∂f x ∂f x ∂f x
Camera vec vec Fig. 1: Closed loop visual servoing using the half resolution wavelet coefficients as visual feature.

matrix associated to the velocity change frame from R b to R c (i.e., the camera frame). The latter is constructed as

b V c = b R c b t c ∧ b R c 0 b R c (34)
where b R c is the 3 × 3 rotation matrix from R c to R b , b t c is the 3 × 1 associated translation vector, and " ∧ " is the skew symmetric matrix associated to the vector cross-product. The proposed control law follows the flowchart illustrated in Fig. 1.

B. Impact of the Wavelet Resolution on the Control Performances

As mentioned above, the multiresolution interaction matrix is designed. Thereby, it is possible to intuitively switch from one resolution to another without additional calculation. Here, the idea is to judge the capability of the controller to work with high resolution approximation signal as well as with low ones. Thus, we computed and plotted the cost-functions of different wavelet coefficients resolutions j = [0, 1, 2, 3] using Lena photography as the scene viewed by the camera Fig. 2. This will allow us to objectively choose the approximation signal resolution j in order to obtain the best cost-function possible (i.e., convex shape, wide at the top, tight at the bottom and having a single global minimum and smooth as possible). As claimed in the introduction, direct visual servoing techniques are distinguished by their high performances in terms of accuracy and robustness to the expense of lower convergence domain with respect to the traditional feature-based visual servoing. However, this limitation of the convergence capabilities of the wavelet-based visual servoing can be tackled using the multiresolution aspect of the developed interaction matrix. For instance, it is possible to consider high scale of the wavelet coefficients (e.g., j = 0) to increase the convergence domain and switch continuously (during the positioning task) towards a lower resolution (e.g., j = 1, 2, ... etc.) until reaching the desired position in order to guarantee high accuracy. Switching from interaction matrix resolution to another can be performed in function of the positioning error e: higher value of e involves higher value of the scale j and conversely.

V. VALIDATION A. Simulation Validation 1) Accuracy: First the proposed controller was evaluated in simulation using a developed simulator using the Visual Servoing Platform (ViSP) framework (visp.inria.fr). The simulation scenario consists of the achievement of an automatic 6 DoF positioning task (in SE(3)) under nominal conditions. We also quantify the convergence domain depending on the used resolution j in the interaction matrix. Firstly, the test of nominal conditions is performed using the photography of Lena. Fig. 3 depicts some snapshots captured during the positioning task achievement. As can be seen in Fig. 3(d), the normalized difference image between I and I * in completely gray (perfect overlaping between the final and desired images) which means that the robot reaches accurately the desired position. Both initial and final positioning errors are reported in TABLE I. As can be highlighted, the final linear and rotational errors (obtained using the simulated anthropomorphic robot encoders) are extremely low. The error decay in each DoF as well as the norm of the global error are recorded and plotted in Fig. 4(a) and (b), respectively. One can underline that all the errors converge towards zero. By the same manner, the camera linear and 2) Convergence Domain: Here the idea is to perform the same positioning task, i.e., using the same initial and desired positions as well as the same control gains, however we modify the resolution j from one test to another. The aim is to show the variation of the convergence domain as a function of the resolution j. Thereby, spiderweb-like representations were used to compare each convergence domain depending on the chosen resolution (Fig. 5). Each line from the center to the border of the spiderweb represents an initial error between the initial image I and the desired image I * in translation (left spiderweb) or rotation (right spiderweb) in the positive or negative directions of displacement.

It can be highlighted that the convergence domain of the proposed approach is naturally related to the wavelet coefficients resolution. This means that higher resolution provides larger convergence domain and conversely. Also, the proposed method showed a better functioning in Z+ direction comparing to Zone. This can be explained, at least partially, by the fact the Z used in 2D interaction matrix (25) is approximated (not computed accurately) only one time at the desired position).

B. Experimental Validation

To demonstrate the effectiveness of the developed controller, we have designed an eye-to-hand experimental set-up (Fig. 6). It is based on a 6 DoF parallel robotic structure: a 3PPSR robot SpaceFAB SF-3000 BS from Micos1 . The latter is characterized with the following features: translation ranges (T x , T y , T z ) max = (50, 100, 12.7) [mm] and rotation ranges (R x , R y , R z ) max = (10, 10, 10) [ • ], a linear resolution of 0.2µm (repeatability of ±0.5µm) and an angular one of 0.0005 • (repeatability of ±0.0011 • ). Also, a Firewire monochrome CCD camera is attached on top of the robot platform. The camera runs at 25 frames per second (fps) for a resolution of 640 × 480 pixels. Two computers equip the experimental platform: the first one (a 3.20-GHz i5 core Intel CPU with a Linux distribution) is dedicated to computer vision and the proposed control (image acquisition, and control calculation, etc.) when the second one (a 2.33-GHz Xeon Intel CPU with a Windows distribution) is used for the robot inner control (inner PID loop, static and differential kinematic models). The computers communicate asynchronously using a TCP/IP protocol.

As can be underlined, the robotic workcell is dedicated to micromanipulation and micropositioning tasks. This means that, the linear and angular stages are limited in terms of translation and rotation ranges, comparing to a conventional robotic platform. Also, the used camera is equipped with a high magnification objective-lens in order to fit the micrometric resolution provided by the robotic setup. Consequently, the positioning task studied below are limited to small displacements. However, in visual servoing, these displacements are a function of the field of view of the used camera i.e., the wider the field of vision, the larger the displacements and vice versa.

C. Experimental Validation Methodology

In order to study the behavior of the developed controller, several scenarios are carried out, in different conditions of use: 1) favorable: nominal conditions, 2) unfavorable: illumination variations, partial occlusions, different scenes (2D and 3D), etc. To do that, the studied positioning task consists of reaching a desired position r * ∈ SE(3) (desired image) from an arbitrary initial position r ∈ SE(3) (initial image). The final positioning error is computed using the high resolution robot encoders supplied by the robot software. Likewise, the proposed control law is also compared to both the photometric visual servoing and traditional points-based visual servoing.

D. Nominal Conditions

The first test consists of the validation of the wavelet-based control law in nominal conditions, i.e., using a stable illumination source and precise calibration parameters (camera parameters matrix K The positioning errors (e = rr * ) are computed using the robot encoders and forward kinematic model (assumed perfectly calibrated). TABLE II gives the final obtained error in the Cartesian space demonstrating the accuracy of the proposed approach as shown by the following numerical values: average linear error = 17.66µm and average angular error = 0.031 • .

E. Robustness to Illumination Variations and Specularity

In these experiments, the appearance of the scene was modified during the positioning task by changing the illumination conditions and or by creating specularity effects in the scene. The image-intensities methods (e.g., photometry) are usually defeated because of unstable lighting conditions during the positioning task. Also, non-optimal light conditions can be a problem for feature-based methods when the extraction of geometric features (visual tracking algorithms) is not trivial. As can be seen in Fig. 9(c) and(d), despite the change of the scene texture during the positioning task process, the controller converges to the desired position (the error decreases smoothly to become almost null). The final positioning error remains very low: the linear average error is 45.66µm when the angular average is 0.10 • (see TABLE III). As for the nominal conditions, we plotted the regulation to zero of the error in Cartesian space (Fig. 10(a)). In fact, the controller demonstrates a high accuracy even under unstable lighting source.

F. Robustness to Partial Occlusions

These experiments deal with the study of the behavior of the control law under partial occlusions of the viewed scene during the visual servoing process. This means that, the desired image is acquired in normal conditions (Fig. 11(a)) and during the positioning task achievement, a part (almost 1 5 ) of the current images is removed (replaced by a white region-of-interest (ROI)) (Fig. 11(b)). As can be seen in Fig. 11(c) and (d), despite these external perturbations our control law converges to the desired pose without difficulty (the control law behavior is almost similar to that of the nominal conditions test). Once again, the proposed approach remains robust despite the presence of partial occlusions in the image. TABLE IV gives the numerical values of the error in the Cartesian space where we can see that the average errors are 150.36µm and 0.288 • in linear and angular stages, respectively. Also, another conclusion can be made on the wavelet method. The fact that the proposed approach assumes a linearization around the desired position (one of the direct visual servoing methods characteristics) which does not make it possible to ensure a global convergence.

The evolution of the Cartesian errors as well as the norm of the error are depicted in Fig. 12(a). The wavelet control law shows the same convergence rate with respect to the nominal conditions test despite the partial occlusions (proof of robustness). This is possible because the current and the desired images share sufficiently of information (wavelet coefficients) even with the additional white ROI on the current images. The different positioning tasks presented above are performed using a fronto-parallel scene. Therefore, the effects of the depth of the scene is limited. Here, the planar scene is replaced by a 3D one (Fig. 14) where the depth Z is estimated as for 2D scene and the interaction matrix is computed again at the desired pose as for the others experiments. Note that the height (depth variations) of the 3D object is 5cm and the camera position is situated at 16cm of the scene (using another objective-lens). Also, the camera is inclined with regards to the 3D scene. As can be seen in Fig. 14, the wavelet-based control law converges smoothly to the desired pose. Indeed, the Z variations only causes a bias in the wavelet coefficients computation which are negligible as shown by the numerical values of the final error (average error of 248µm and 0,103deg in linear and angular stages, respectively) (TABLE V) which are in the same order (despite a slight deterioration) as for the nominal conditions results. Concerning the behaviour of the control law, as shown in Fig. 15(a), the regulation of the error in the Cartesian space presents the same aspect as for the 2D scene. Furthermore, the efficiency of the wavelet-based control law remains reliable even in case of a 3D scene (with a coarse estimation of Z).

G. Robustness to Depth Approximation

VI. COMPARAISON AND DISCUSSION

The photometry-based visual servoing as well as the 4points-based one (both source codes are provided by their authors within the ViSP framework 2 ) are experimented and compared to our control law. These comparison tests were performed in both favourable and unfavourable conditions of use.

A. Wavelet vs. Photometry 1) Nominal Conditions: First, let us start with a comparison in nominal conditions. TABLE VI gives the final errors in the Cartesian space. It can be seen that, the wavelet method present slightly the same accuracy (especially in translation) as the photometry method [START_REF] Collewet | Photometric visual servoing[END_REF] in the Cartesian space. In fact, the wavelet-based method presents an average translation error of 17.66µm (respectively, 17.33µm for the photometry one) and an average rotation error of 0.019 • (respectively, 0.051 • for the photometry). The norms of the error in both methods are shown in Fig. 16(left) while the robot trajectory is plotted in Fig. 16(right). It can be underlined that despite the same experimental conditions (lighting source, camera and camera/robot 2 www.visp.inria.fr calibration parameters, and initial and desired positions), the wavelet-based method presents a better robot's behavior in the 3D space. 2) Salt and Pepper Noise: The last experimental test concerns a comparison of both methods under a salt and pepper noise of density of 70%. In Fig. 17 is depicts some snapshots grabbed during the positioning task performing. As can be highlighted, the proposed controller reaches the desired position despite the image noise. This can be also seen in Fig. 18 which represents the error regulation towards zero for both approaches. In fact, the wavelet-based control law converges without specific difficulties when the photometry method failed. VII summarizes the obtained numerical values, thus the average translation error for the wavelet approach is 60µm and 1.06 • for translation and rotation stages, respectively, when the photometry method failed. This proves that our controller is more robust to noise disturbances comparing to the photometry technique.

B. Wavelet vs IBVS 1) Nominal Conditions:

In this section, we compare the popular 4-point-based visual servoing approach to our method. The experimental scenario remains the same (i.e., performing of a positioning task in SE(3)). In order to ensure the same experimental conditions for both methods, we add four white markers into the photography of Lena to be tracked easily in case of IBVS method. In parallel, the wavelet method use the rest of the image to perform the same positioning task. The estimated accuracy is reported in TABLE VIII. Furthermore, Fig. 19(a) gives the error decay in each visual servoing task. It can be highlighted that our method presents a rapid decay of the norm error comparing to the IBVS one. Similarly, Fig. 19(b) shows the robot trajectory in each case. Also, the wavelet-based control law presents a similar trajectory (but takes opposite path) compared to the IBVS method. The final objectives of the proposed work targets medical applications. More precisely, it will concern the automation of optical biopsies acquisition using an Optical Coherence Tomography (OCT) system. The latter is widely used in clinical purposes, e.g., for in-situ tissue characterization, especially in ophthalmology, dermatology, gastrointestinal, etc. Indeed, OCT provides very good lateral and axial resolution: 4µm and 3µm, respectively, and higher penetration depths 1-5 mm (Fig. 20). In addition, OCT imaging system offers realtime acquisition (several dozen images per frame) entirely compatible to robot-vision applications.

Therefore, in order to demonstrate the ability of the proposed wavelet control law to work even using untextured medical images (e.g., OCT images), we implemented a positioning task in SE(2) = ℜ(2) × SO(1). The control signal inputs are the wavelet coefficients computed from the B-Scan OCT images (i.e., xz or yz slices of the viewed biological sample). The task achievement works as follows: 1) the operator defines (grabs) an optical image of the sample at time t, and 2) the robotic platform which holds the sample must retrieve automatically the initially acquired OCT image in case of temporal monitoring of the tissue. Thereby, the wavelet control law moves the positioning platform towards the desired position using the wavelet coefficients computed from the B-Scan images. As can be seen in (Fig. 21), the control law allows converging to the desired optical biopsy without much difficulties (as can be seen in the image difference) despite the low signal-to-noise rate which characterizes OCT images.

VII. CONCLUSION

In this paper, it was presented a novel 6 DoF visual servoing controller based on the use of the multiple resolution wavelet coefficients as the visual signal in the control loop instead of geometric visual features. The developed interaction matrix is multiple scale which means that it is possible to switch intuitively from a resolution to another without additional calculation. The method was successufly validated following sevral simulation and experimental scenarios (optimal conditions, lighting variations, partial occlusions, 3D scene). The obtained results have demonstrated the efficiency of the developed controller in terms of accuracy (some tens of micrometers and few tenths of millidegree in the translation and rotation Cartesian space, respectively), convergence, and robustness (the controller has kept on working under different external disturbances). Also, the developed wavelet-based visual servoing at half resolution was compared to the photometry-based approach as well as the popular IBVS method. The ground truth tests have proven that the wavelet method is at least as efficient with regards to both methods in nominal conditions and better in case of unfavorable ones (e.g., and under noise).

More broadly, this is the first work on 6 DoF wavelet-based visual servoing, and there remains much work to do. Moreover, enhancement of the computation time by using GPU hardware, or the combination of compressed sensing with the proposed approach must be foreseen. Also, it is interesting to investigate a method to compute the interaction matrix relatively to the time not to the desired pose which will increase sensitively the convegence domain of the wavelet-based visual servoing.

j 2 T

 2 m Ψ. The squeezing and stretching the generator Ψ are obtained by applying the dyadic scaling operator D j 2 which varies the wavelet spatial frequency and by the translation operator T m which defines the wavelet localization.

Fig. 2 :

 2 Fig. 2: From left to right and from top to bottom: computed cost-functions for j = [0, 1, 2, 3] resolutions, respectively.

Fig. 3 :

 3 Fig. 3: [Simulation -Nominal Conditions] -Image sequence captured during the 3D positioning task. (a): I(r), (b): I(r) * , (c): I(r -I(r) * , and (d) final error showing that the controller reaches accurately r * .

Fig. 4 :

 4 Fig. 4: [Simulation -Nominal Conditions] -Errors and velocities evolution vs. number of iterations.

Fig. 5 :Fig. 6 :

 56 Fig. 5: Convergence domain study of wavelet coefficients resolution j = [1, 2, 3].

  3×3 and eye-to-hand transformation c V b 6×6 ). The initial error is ∆r[mm, deg] = 11, 11, 5, 9, 8, 5

Fig. 7 :

 7 Fig. 7: [Experiment -Nominal Conditions] -Achievement of a 3D positioning task. (a) (I(r * ), (b) (I(r), (c) the initial image difference, and (d) the final one. In Fig. 7(a) and (b) are depicted the desired and the initial images, respectively, when Fig. 7(e) shows the initial error I(r) -I(r * ) between the desired and the initial images. The image difference at convergence in represented in Fig. 7(f)showing that the controller converges smoothly and accurately towards r * . Note that a completely gray image difference is synonymous of a perfect overlapping between the final and desired images.

Fig. 8 :

 8 Fig. 8: [Experiment -Nominal Conditions] -Cartesian errors evolution vs. number of iterations i. right: for each DoF, left: norm of the error.

Fig. 9 :

 9 Fig. 9: [Experiment -Illumination Variations] -Snapshots captured during the positioning task performed under lighting variation, (a) is I * acquired under a stable lighting, (b) is I captured using another lighting source, (c) initial error and (c) final error.

Fig. 10 :

 10 Fig. 10: [Experiment -Illumination Variations] Left: error progression, and right: norm of the error vs. number of iterations.

Fig. 11 :

 11 Fig. 11: [Experiment -Partial Occlusions] -visual servoing task achievement under partial occlusions. (a) I * , (b) I, (c) initial image difference, and (d) final one.

Fig. 12 :

 12 Fig. 12: [Experiment -Partial Occlusions] Left: error evolution Cartesian space, right: norm of the error vs. number of iterations.

Fig. 13 :

 13 Fig. 13: Front view of the experimental set-up using a 3D scene.

Fig. 14 :

 14 Fig. 14: [Experiment -3D Scene] -Achievement of the positioning task using a 3D object. (a): I * , (b): I, (c): the initial error and (d): the final one.

Fig. 15 :

 15 Fig. 15: [Experiment -3D Scene] Left: error evolution in Cartesian space, right: norm of the error vs. number of iterations.

Fig. 16 :

 16 Photomerty error

Fig. 17 :Fig. 18 :

 1718 Fig. 17: [Experiment -Noisy Images] visual servoing task performing under salt and pepper noise. (a) I * without noise, (b) I with noise, (c) initial error and (d) final error at convergence.

Fig. 19 :Fig. 20 :

 1920 Fig. 19: Wavelet vs. IBVS: (a) norm of the error (b) robot trajectory.

Fig. 21 :

 21 Fig. 21: OCT image snapshots acquired during the positioning task performing: (a) desired OCT image, (b) initial OCT image, (c) initial OCT image difference, and (d) final OCT image difference.

TABLE I :

 I [Simulation -Nominal Conditions] -Numerical values in case of nominal conditions T i (mm) and R i ( • )

	pose	T x	T y	T z	R x	R y	R z
	initial	-15	-15	10	8	-7	-5
	desired	0.0	0.0	0	0.0	0.0	0.0
	final error	10 -8	10 -7	10 -5	10 -6	10 -5	10 -6

TABLE II :

 II

	pose	T x	T y	T z	R x	R y	R z
	initial	-6.001	6.001	78.001	4.001	4.001	3.001
	desired	5.000	-5.000 74.000	-5.000	-4.000 -2.000
	reached	5.009	-4.992 74.036	-4.981	-4.061 -2.014
	final error	0.009	0.008	0.036	0.019	0.061	0.014

[Experiment -Nominal Conditions] -Numerical values in case of nominal conditions T i (mm) and R i ( • )

TABLE III :

 III [Experiment -Illumination Variations] -Numerical values in case of lighting variations

						T i (mm) and
	R i ( • )
	pose	T x	T y	T z	R x	R y	R z
	initial	-5.001	5.001	78.001	3.001	3.001	3.001
	desired pose	3.000	-3.000 74.000	-7.000 -4.000 -2.000
	reached pose	3.091	-3.021 73.975	-7.066 -5.110 -2.139
	final error	0.091	0.021	0.025	0.066	0.110	0.139

TABLE IV :

 IV [Experiment -Partial Occlusions] -Numerical values in case of partial occlusion ( T i (mm) and R i ( • ))

	pose	T x	T y	T z	R x	R y	R z
	initial	-3.001 3.001 76.000	2.000	2.000	23.000
	desired	0.000	0.000 74.000	-1.000 -1.000	-1.000
	reached	0.110	0.235 74.116	-1.230 -0.982	-1.536
	final error	0.110	0.235	0.116	0.230	0.098	0.536

TABLE V

 V

	: [Experiment -3D Scene] -Numerical values in case of a 3D scene T i (mm) and R i ( • )
	pose	T x	T y	T z	R x	R y	R z
	initial	-4.001	4.001	74.001	0.001 -2.001 -2.001
	desired	5.001	-5.001 79.001	2.001 -6.001	2.001
	reached	4.771	-5.027 79.373	1.388 -6.381	2.101
	final error	0.279	0.026	0.372	0.388	0.380	0.100

TABLE VI :

 VI [Experiment -Nominal Conditions] Numerical values of the positioning error (wavelet vs. photometry)

							T i
	(mm) and R i ( • )
	pose	T x	T y	T z	R x	R y	R z
	initial error	4.000 4.000 2.000	3.000 3.000 3.000
	wavelet	0.013 0.012 0.028	0.019 0.019 0.018
	photometry	0.008 0.015 0.029	0.054 0.044 0.055

TABLE VII

 VII

	: [Experiment -Noisy Images] Numerical values
	of the positioning error (wavelet vs. photometry) ( T i (mm) and R i ( • ))
	pose	T x	T y	T z	R x	R y	R z
	initial	-29.35	-29.35	9.80	-8	-5	10
	wavelet	0.131	1.573	0.12	0.987 2.188 0.028
	photometry	3.78	28.46	16.99	19.93	-7.53	6.96

TABLE

TABLE VIII :

 VIII [Nominal Conditions] Numerical values of the positioning error (wavelet vs. IBVS) T i (mm) and R i ( • )

	pose	T x	T y	T z	R x	R y	R z
	initial	4.000 4.000 2.000	3.000 3.000	3.000
	wavelet	0.013 0.012 0.028	0.019 0.019	0.018
	IBVS	0.022 0.015 0.014	0.036 0.025 -0.001

http://www.pimicos.com

This work was supported by French ANR NEMRO Project ITMO Cancer no 17CP068-00.