Kaixiang Zhang

Jian Chen
email: jchen@zju.edu.cn

Trifocal tensor-based 6 DOF visual servoing

Keywords: Visual servoing, trifocal tensor, Lyapunov methods

This paper proposes a trifocal tensor-based approach for 6 degrees-of-freedom visual servoing. The trifocal tensor model among the current, desired, and reference views is constructed to describe the geometric relationship of the system. More precisely, to ensure the computation consistency of trifocal tensor, a virtual reference view is introduced by exploiting the transfer relationships between the initial and desired images. Instead of resorting to explicit estimation of the camera pose, a set of visual features with satisfactory decoupling properties are constructed from the tensor elements. Based on the selected features, a visual controller is developed to regulate the camera to a desired pose, and an adaptive update law is used to compensate for the unknown distance scale factor. Furthermore, the system stability is analyzed via Lyapunov-based techniques, showing that the proposed controller can achieve almost global asymptotic stability. Both simulation and experimental results are provided to demonstrate the effectiveness and robustness of our approach under different conditions and case studies.

Introduction

Visual servoing is aimed at closing the control loop with real time visual feedback to increase the flexibility, accuracy, and robustness of a robotic system [START_REF] Hutchinson | A tutorial on visual servo control[END_REF][START_REF] Chaumette | Visual servo control part I: Basic approaches[END_REF]. In this paper, the 6 degrees-of-freedom (DOF) eye-in-hand visual regulation task is considered, which is conducted via the conventional teach-by-showing idea. Specifically, an image is prerecorded in the teaching process to express a desired pose, and then by utilizing the visual feedback, the robot is driven from an initial pose to the desired pose automatically. According to the feature information used for the feedback signals, the visual servoing can be mainly divided into image-based methods [START_REF] Liu | Uncalibrated visual servoing of robots using a depth-independent interaction matrix[END_REF][START_REF] Kallem | Kernel-based visual servoing[END_REF][START_REF] Collewet | Photometric visual servoing[END_REF][START_REF] Dame | Mutual information-based visual servoing[END_REF][START_REF] Spica | Coupling active depth estimation and visual servoing via a large projection operator[END_REF] and pose-based methods [START_REF] Wilson | Relative end-effector control using Cartesian position based visual servoing[END_REF][START_REF] Lippiello | Position-based visual servoing in industrial multirobot cells using a hybrid camera configuration[END_REF]Fujita et al., 2007).

The image-based methods define the visual features in the 2D image space. Classical image-based methods directly use image coordinates of several points or lines to construct the system errors, which would be sensitive to feature mismatching between current and desired views. To reduce the effect of image processing errors, more dense image features can be utilized, such as kernel-based [START_REF] Kallem | Kernel-based visual servoing[END_REF], photometric-based [START_REF] Collewet | Photometric visual servoing[END_REF], and mutual information-based [START_REF] Dame | Mutual information-based visual servoing[END_REF] methods. However, the interaction matrices of dense visual servoing are complicated, and thus it is hard to determine the convergence region theoretically. Different from the image-based methods, the pose-based methods construct the visual features in the 3D Cartesian space. Generally, the decoupled translation and rotation information is exploited to define the system errors, which simplifies the controller design and leads to a larger convergence region compared to image-based methods. Nevertheless, to estimate the pose information, a priori knowledge of the target model is required.

To eliminate the requirement on a priori knowledge of the target model, a good choice is to design the visual control strategies based on two-view geometry, such as homography [START_REF] Malis | 2-1/2-D visual servoing[END_REF][START_REF] Malis | 2 1/2 D visual servoing with respect to unknown objects through a new estimation scheme of camera displacement[END_REF][START_REF] Fang | Homography-based visual servo regulation of mobile robots[END_REF][START_REF] Silveira | Direct visual servoing: Vision-based estimation and control using only nonmetric information[END_REF][START_REF] Zhang | Asymptotic moving object tracking with trajectory tracking extension: A homographybased approach[END_REF] and epipolar geometry [START_REF] Mariottini | Image-based visual servoing for nonholonomic mobile robots using epipolar geometry[END_REF][START_REF] Becerra | A slidingmode-control law for mobile robots based on epipolar visual servoing from three views[END_REF]. More precisely, both homography-based and epipolar-based methods construct the geometric relationship between the current and desired views to facilitate the control development. This relationship is formulated by homography matrix or fundamental (essential) matrix, which can be calculated through the corresponding feature points in different views. However, both homography-based and epipolar-based methods have drawbacks. The decomposition of homography matrix requires an initial guess of the normal vector of the scene to determine the unique solution, while the epipolar geometry becomes ill-conditioned with short baseline and with planar scenes [START_REF] López-Nicolás | Visual control through the trifocal tensor for nonholonomic robots[END_REF]. Different from homography and epipolar geometry, trifocal tensor encapsulates the intrinsic geometric correlation among three views and is independent of the observed scene.

Due to this fact, the trifocal tensor has great potential in addressing visual servoing [START_REF] Andreff | Laser steering using virtual trifocal visual servoing[END_REF][START_REF] Chen | Multi-View Geometry Based Visual Perception and Control of Robotic Systems[END_REF]. The trifocal tensor based visual servoing can be divided into 1-D methods [START_REF] Becerra | Exploiting the trifocal tensor in dynamic pose estimation for visual control[END_REF][START_REF] Sabatta | Vision-based path following using the 1D trifocal tensor[END_REF] and 2-D ones [START_REF] López-Nicolás | Visual control through the trifocal tensor for nonholonomic robots[END_REF][START_REF] Chen | Trifocal tensor-based adaptive visual trajectory tracking control of mobile robots[END_REF]. Most of these methods focus on controlling a nonholonomic wheeled mobile robot to achieve different tasks, mainly including regulation [START_REF] Becerra | Exploiting the trifocal tensor in dynamic pose estimation for visual control[END_REF][START_REF] López-Nicolás | Visual control through the trifocal tensor for nonholonomic robots[END_REF], path following [START_REF] Sabatta | Vision-based path following using the 1D trifocal tensor[END_REF], and trajectory tracking [START_REF] Chen | Trifocal tensor-based adaptive visual trajectory tracking control of mobile robots[END_REF]. Nevertheless, there are few results that extend the trifocal tensor to address the 6 DOF visual servoing, and [START_REF] Shademan | Three-view uncalibrated visual servoing[END_REF] is the only one up to our knowledge.

For the trifocal tensor based visual servoing, one of the main concerns is how to define the feature information. Some of the aforementioned works [START_REF] Sabatta | Vision-based path following using the 1D trifocal tensor[END_REF][START_REF] Chen | Trifocal tensor-based adaptive visual trajectory tracking control of mobile robots[END_REF] decompose the pose information of the camera as the system states, while some others [START_REF] López-Nicolás | Visual control through the trifocal tensor for nonholonomic robots[END_REF][START_REF] Shademan | Three-view uncalibrated visual servoing[END_REF] directly use tensor elements to provide visual feedback. In general, to extract the camera pose from the trifocal tensor, singular value decomposition (SVD) techniques need to be exploited. Although using the explicit pose information as feedback signals can simplify the controller design, SVD-based pose extraction is complicated and is sensitive to image noise. To avoid this problem, an alternative interesting idea is to construct the visual features directly from the trifocal tensor elements. This idea has been considered in [START_REF] Shademan | Three-view uncalibrated visual servoing[END_REF], which uses all tensor elements as visual features to design the control scheme. However, the visual features are redundant and highly coupled, and the corresponding interaction matrix is obtained via numerical techniques without deriving its analytical expression. Under these circumstances, it is extremely difficult to guarantee the system stability theoretically. To facilitate the stability analysis, linearizing the error system around the origin point is a common method. Nevertheless, this technique can only achieve local stability and cannot determine the convergence domain. Therefore, suitably refining the tensor elements as visual features and developing a control strategy with rigorous theoretical proof are motivated.

In this paper, a 6 DOF visual servoing strategy is proposed to regulate a camera from an initial pose to a desired pose. The scene-independent trifocal tensor is used to describe the vision model. Since the trifocal tensor might suffer from the degeneration issue, a reference view is introduced to avoid this problem. Specifically, the reference view is generated with the aid of the transfer relationships associated with the initial and desired images, which ensures that the trifocal tensor across the current, desired, and reference views can be estimated consistently. To facilitate the tensor normalization, an auxiliary tensor variable is introduced. Then, 3 elements of the trifocal tensor and 6 elements of the auxiliary tensor variable are chosen based on the geometric connotation to construct decoupling visual features. The relationship between the variations of tensor features and the system inputs is derived for the control development. By utilizing the Lyapunov methodology, an adaptive controller is developed for the visual regulation task, and the unknown distance scale factor is actively compensated by an update law. Theoretical analysis is provided to prove that the proposed control scheme is almost globally asymptotically stable, which is a strong result in the field of 6 DOF visual servoing. Moreover, the performance of the developed approach is validated by simulation and experimental results.

There are distinct differences between this paper and the existing trifocal tensor based works [START_REF] Becerra | Exploiting the trifocal tensor in dynamic pose estimation for visual control[END_REF][START_REF] Sabatta | Vision-based path following using the 1D trifocal tensor[END_REF][START_REF] López-Nicolás | Visual control through the trifocal tensor for nonholonomic robots[END_REF][START_REF] Chen | Trifocal tensor-based adaptive visual trajectory tracking control of mobile robots[END_REF][START_REF] Shademan | Three-view uncalibrated visual servoing[END_REF]. First, this paper considers the 6 DOF eye-in-hand visual regulation, while [START_REF] Becerra | Exploiting the trifocal tensor in dynamic pose estimation for visual control[END_REF]; [START_REF] Sabatta | Vision-based path following using the 1D trifocal tensor[END_REF]; [START_REF] López-Nicolás | Visual control through the trifocal tensor for nonholonomic robots[END_REF]; [START_REF] Chen | Trifocal tensor-based adaptive visual trajectory tracking control of mobile robots[END_REF] focus on the 3 DOF vision-based control of ground mobile robots. Second, instead of constructing the visual system with simplified 1-D trifocal tensor as [START_REF] Becerra | Exploiting the trifocal tensor in dynamic pose estimation for visual control[END_REF]; [START_REF] Sabatta | Vision-based path following using the 1D trifocal tensor[END_REF], the 2-D trifocal tensor is utilized in this paper to describe the visual model, which is more suitable for the 6 DOF visual servoing. Third, in our work, the tensor features are chosen based on the geometric relationship to facilitate the control development and stability analysis, while in [START_REF] López-Nicolás | Visual control through the trifocal tensor for nonholonomic robots[END_REF], the tensor elements are selected experimentally, and in [START_REF] Chen | Trifocal tensor-based adaptive visual trajectory tracking control of mobile robots[END_REF], explicit pose information are decomposed from the trifocal tensor to accomplish the tracking task. Furthermore, as aforementioned, in [START_REF] Shademan | Three-view uncalibrated visual servoing[END_REF], all the trifocal tensor elements are exploited in the controller design, leading to a cumbersome error system, and no analytical expression of the interaction matrix is provided. Fourth, instead of designing the control law similar to the typical proportional controller as [START_REF] Shademan | Three-view uncalibrated visual servoing[END_REF], an adaptive regulation control law is designed in this paper, and the theoretical analysis of the system stability and convergence domain is presented. A preliminary version of this paper was presented in [START_REF] Zhang | Visual servoing with trifocal tensor[END_REF]. Compared to [START_REF] Zhang | Visual servoing with trifocal tensor[END_REF], a generation strategy for the reference view is introduced to ensure that the trifocal tensor can be estimated stably, and more rigorous and detailed Lyapunov-based analysis is presented to show the almost global asymptotic convergence of the system errors instead of local stability result given in [START_REF] Zhang | Visual servoing with trifocal tensor[END_REF]. Additionally, to evaluate the proposed approach thoroughly, different simulation and experiments are conducted. The results indicate that the constructed visual features show better decoupling characteristics compared to other visual features defined from trifocal tensor. It can also be seen that the robustness of the proposed approach is satisfactory with respect to image noise and calibration errors.

The remainder of this paper is organized as follows. Section 2 presents some preliminaries to facilitate the development of this work. In Section 3, the generation algorithm of the reference view is introduced. Then, Section 4 constructs the visual features with tensor variables. The adaptive visual controller and the stability analysis are developed in Section 5. Moreover, simulation and experimental results are provided in Section 6, and conclusions are given in Section 7.

Preliminaries

Problem statement and notations

As shown in Figure 1, this paper focuses on the 6 DOF eye-in-hand configuration. Specifically, F i , F c , F d , and F * denote the initial, current, desired, and reference coordinate frames of the camera, respectively. Note that the reference coordinate frame F * is introduced to facilitate the construction of the trifocal tensor model, which will be further discussed in the next section. Given the desired image captured in F d , the objective is to develop a trifocal tensor based controller to ensure that the current camera frame F c asymptotically converges from F i to F d , i.e., To improve the readability of this paper, some notations are introduced. Throughout the paper, let 0 n×n , I n×n ∈ R n×n be the n-by-n zero and identity matrix, respectively. Let 0 n , I n ∈ R n be the n-by-1 vector with all zeros and ones, respectively. The subscript n might be dropped if it is clear from the context. [•] × ∈ R 3×3 is the skew symmetric matrix associated to a 3-by-1 vector, and

F c → F d as t → ∞.
[•] ×(j) is the j-th column of [•] × . Given a vector c ∈ R n , c (j) ∈ R denotes the j-th element of c. Given a matrix C ∈ R n×n , C (j) ∈ R n is the j- th column of C and C (kj) ∈ R is the element on the k-th row, j-th column of C. A trifocal tensor variable E ∈ R 3×3×3 can be seen as a collection of three matrices E (1) , E (2) , E (3) ∈ R 3×3 . Denote E (j) ∈ R 3×3 as the j-th matrix of E. Then, E (jl) ∈ R 3 is the l-th column of E (j) and E (jkl) ∈ R is the element on the k-th row, l-th column of E (j)
. Furthermore, a trifocal tensor variable, or matrix, or vector accompanied with a bracket (t) implies that its value varies with time.

Trifocal tensor geometry

The relationships between the camera frames are illustrated in Figure 1. More precisely, c R * (t) ∈ SO 3 and c t * (t) ∈ R 3 are the rotation and translation between F c and F * expressed in F c . Likewise, d R * ∈ SO 3 and d t * ∈ R 3 are the constant rotation and translation between F d and F * expressed in F d . Let T (t) ∈ R 3×3×3 be the trifocal tensor among the current, reference, and desired views. Then T (t) can be related to the pose information as follows [START_REF] López-Nicolás | Visual control through the trifocal tensor for nonholonomic robots[END_REF][START_REF] Hartley | Multiple View Geometry in Computer Vision[END_REF]:

T (j) = c R * (j) d t T * -c t * d R T * (j) . (1)
From (1), it is clear that the trifocal tensor encapsulates the geometric correlation across three views, and hence it is applicable for visual servoing. To estimate the trifocal tensor, point correspondences among three views are often used [START_REF] Hartley | Multiple View Geometry in Computer Vision[END_REF]. Consider a static feature point O in the scene, its corresponding image coordinates in the views F c , F d , and F * are denoted as p c (t), p d , p * ∈ R 3 , respectively. After extracting these image coordinates from different views, the normalized Cartesian coordinates m c (t), m d , m * ∈ R 3 can be calculated by

m c = K -1 p c , m d = K -1 p d , m * = K -1 p * (2)
where K ∈ R 3×3 is the intrinsic camera calibration matrix. By using the point sets (m c (t), m d , m * ), the trifocal tensor T (t) can be estimated up to a scale based on the following relationship [START_REF] Hartley | Multiple View Geometry in Computer Vision[END_REF]:

[m c ] ×   3 j=1 m * (j) T (j)   [m d ] × = 0 3×3 . (3)
It can be seen from ( 1) that the camera pose can be extracted from the trifocal tensor with SVD [START_REF] Hartley | Multiple View Geometry in Computer Vision[END_REF], and then this explicit pose information can be utilized easily for the controller design. Nevertheless, the SVD-based pose extraction is complex and sensitive to image noise. Hence, this work focuses on using tensor elements to construct the visual features. Inspired by [START_REF] Shademan | Three-view uncalibrated visual servoing[END_REF], an intuitive idea is to define the feature information with all the elements of T (t). In the following, the visual servoing with all tensor elements is introduced and its corresponding disadvantages are discussed.

Visual servoing with all tensor elements

Denote s(t) ∈ R 27 as the visual features constructed with all the elements of T (t) as follows:

s T T (11) T T (12) T T (13) • • • T T (31) T T (32) T T (33) T . (4)
To facilitate the control development, the time derivative of s(t) should be derived. More precisely, based on the motion dynamics model, the following expression can be obtained [START_REF] Chaumette | Visual servo control part I: Basic approaches[END_REF]:

c Ṙ * = -[ω] × c indicating that Ṫ(jl) = d R * (lj) I 3×3 T (jl) × L jl v ω . (7)
Taking the time derivative of (4) and utilizing (7), it can be derived that

ṡ = L v ω (8)
with L(t) ∈ R 27×6 being the interaction matrix constructed by

L = L T 11 L T 12 L T 13 • • • L T 31 L T 32 L T 33 T . (9)
Note that L(t) depends on the constant rotation d R * , thus an estimation or an approximation of d R * will be needed in the control scheme. Based on (8), the control inputs can be designed via a typical way, as follows:

v ω = -k L+ (s -s d ) (10)
where k ∈ R is the control gain, L+ (t) ∈ R 6×27 is an approximation of the pseudo-inverse of L(t), and s d ∈ R 27 is the corresponding desired value of s(t).

The aforementioned approach based on all tensor elements has several disadvantages.

• The computation of trifocal tensor might suffer from the degeneration problem during the control procedure. Consider the vision model presented in Figure 1, if the reference frame F * coincides with the frame F d or F c , then the calculation of trifocal tensor will be degenerated by using (3) (see Appendix A). Existing works [START_REF] Shademan | Three-view uncalibrated visual servoing[END_REF][START_REF] Zhang | Visual servoing with trifocal tensor[END_REF] usually use the current, desired, and initial views to define the trifocal tensor. However, under this configuration, the aforementioned degeneration case occurs easily, typically at the beginning of the servo where the current view is coincident with the initial one, and hence it is numerically troublesome to estimate the trifocal tensor [START_REF] Becerra | A single visualservo controller of mobile robots with super-twisting control[END_REF]. To ensure that the trifocal tensor can be calculated consistently and stably, a generation strategy for the reference view F * is introduced in the next section.

• From (1), it can be found that the time-varying pose signals c R * (t) and c t * (t) are coupled into the expression of T (t). Therefore, if the tensor elements are directly chosen as the visual features, the derived interaction matrix does not present satisfactory decoupling characteristics as shown in (7). It should also be pointed out that T (t) can only be estimated up to a scale, i.e.,

T λ = λT (11)
where T λ (t) ∈ R 3×3×3 is the obtained scaled trifocal tensor and λ ∈ R is an unknown scale parameter. Since λ is different each time the tensor variable is estimated, to make the trifocal tensor-based approach applicable, finding a suitable way to normalize T λ (t) is necessary [START_REF] López-Nicolás | Visual control through the trifocal tensor for nonholonomic robots[END_REF]. Motivated by the above issues, in Section 4, an auxiliary tensor variable is introduced to redefine the trifocal tensor-based visual features with satisfactory decoupling properties, and a normalization method is introduced to ensure that the tensor variables are scaled by a common factor during the control procedure.

• The controller designed in (10) relies on all the tensor elements and can be regarded as classical image-based control scheme. Actually, this kind of controller can only achieve local asymptotic stability, and the resulting system may be attracted to a local minimum. Due to the complex structure of the interaction matrix L(t), it is quite difficult to determine the configurations with respect to the local minimum and the size of the attraction domain [START_REF] Chaumette | Visual servo control part I: Basic approaches[END_REF]. Based on the tensor features selected in Section 4, an adaptive controller is designed in Section 5. Both the local minimum and the convergence domain are analyzed clearly.

Reference view generation

To ensure consistent computation of trifocal tensor, a generation strategy of the reference view F * is developed in this section. The core ideas are to proactively design the trifocal tensor among the initial, desired, and reference views based on the reconstructed camera pose between the initial and desired frames, and then to determine the normalized Cartesian coordinate m * involved in (3) with classical transfer techniques [START_REF] Hartley | Lines and points in three views and the trifocal tensor[END_REF][START_REF] López-Nicolás | Parking with the essential matrix without short baseline degeneracies[END_REF][START_REF] Becerra | A single visualservo controller of mobile robots with super-twisting control[END_REF].

The generation strategy of the reference view F * is concluded in Algorithm 1. Specifically, let m i ∈ R 3 be the normalized Cartesian coordinate of the feature point O expressed in F i . Define T i ∈ R 3×3×3 as the trifocal tensor with respect to the desired frame, initial frame, and the third frame being equal to the desired frame. Then the point correspondences (m i , m d ) extracted from the initial and desired views can be used to estimate T i up to a scale via the following relationship:

[m d ] ×   3 j=1 m i(j) T i(j)   [m d ] × = 0 3×3 . ( 12
)
Although two of the three frames used to define T i are coincident, ( 12) can be exploited to estimate the trifocal tensor T i without degeneration (see Appendix A). Denote

T i(j) = d R i(j) d t T i -d t i d R T i(j) . (13)
After estimating the trifocal tensor T i , the essential matrix between the initial and desired views can be derived, and then classical algorithms can be used to decompose the rotation d R i and the scaled translation d ti from the obtained essential matrix [START_REF] Hartley | Multiple View Geometry in Computer Vision[END_REF][START_REF] Ma | An Invitation to 3-D Vision: From Images to Geometric Models[END_REF]

i R * = d R T i d R * , i t * = d R T i d t * - d ti . (14)
Furthermore, by using the measurable relative pose information, the trifocal tensor T * ∈ R 3×3×3 among the initial, desired, and reference views can be computed, as follows:

T * (j) = i R * (j) d tT * - i t * d R T * (j) . (15)
Using T * , the relationship of the point correspondences m i , m d , and m * is described by

[m i ] ×   3 j=1 m * (j) T * (j)   [m d ] × = 0 3×3 . ( 16
)
It is clear from ( 16) that given m i , m d , and T * , the leastsquares solution to m * can be calculated, which is the well known transfer issue [START_REF] Hartley | Lines and points in three views and the trifocal tensor[END_REF][START_REF] Hartley | Multiple View Geometry in Computer Vision[END_REF]. After obtaining m * , the trifocal tensor T (t) can be determined from (3).

Algorithm 1 Reference view generation

Input: Initial frame, F i , m i ; Desired frame, F d , m d ; Output: Reference frame, F * , m * ; 1: Use (m i , m d )

Feature construction

After estimating the trifocal tensor T (t), visual features need to be designed to facilitate the control development. This section focuses on defining the feature information with constructed tensor variables.

Auxiliary tensor variable

The expression of trifocal tensor T (t) given in (1) involves both the time-varying rotation c R * (t) and translation c t * (t). Thus, to define the visual features with decoupling characteristics, it is necessary to find a suitable way to separate c R * (t) or c t * (t) from T (t). Based on (1) and

the fact that d R T * (j) d R * (j) ×
= 0, this task is achieved by introducing an auxiliary tensor variable Q(t) ∈ R 3×3×3 , as follows:

Q (j) = T (j) d R * (j) × = c R * (j) d t T * d R * (j) × . ( 17
)
The auxiliary tensor variable Q(t) is designed with the aid of the constant rotation d R * . Practically, d R * is closely related to the trifocal tensor T (t) and its time derivative as shown in ( 1) and ( 7), and thus for all tensor element-based visual servoing, it would be inevitable to introduce d R * into the feature and controller design. From ( 17), it can be found that for

d t * = 0 3 , Q (j) (t)
Q λ (t) ∈ R 3×3×3 . Once T λ (t) is obtained, Q λ (t) can be computed by Q λ(j) = T λ(j) d R * (j) × . (18)
From ( 11), (17), and ( 18), it can be concluded that Q λ (t) equals to Q(t) scaled by the unknown factor λ, i.e.,

Q λ = λQ. ( 19
)

Tensor normalization

Since λ is different each time the tensor variables are estimated, a normalization method has to be developed to guarantee that the tensor variables are scaled by a common factor during the control procedure (López-Nicolás et al., 2010). To facilitate the tensor normalization, a property of Q λ (t) is presented now. According to ( 17) and ( 19), the following expression can be obtained:

Q λ(jl) = λ c R * (j) d t T * d R * (j) ×(l) . (20)
Using ( 20) and the facts that

c R T * (j) (t) c R * (j) (t) = 1, d t T * d R * (j) ×(l) = -d R T * (j) d t * ×(l) , it can be concluded that Q T λ(jl) Q λ(jl) = λ 2 d R T * (j) d t * ×(l) 2 . ( 21
)
Based on ( 21), it can be determined that

3 j=1 Q T λ(j1) Q λ(j1) = λ 2 3 j=1 d R * (2j) d t * (3) -d R * (3j) d t * (2) 2 = λ 2 d t 2 * (2) + d t 2 * (3) (22) where 3 j=1 d R 2 * (2j) = 3 j=1 d R 2 * (3j) = 1 and 3 j=1 d R * (2j) d R * (3j) = 0 are used. It can also be deduced that 3 j=1 Q T λ(j2) Q λ(j2) = λ 2 d t 2 * (1) + d t 2 * (3) 3 j=1 Q T λ(j3) Q λ(j3) = λ 2 d t 2 * (1) + d t 2 * (2) . (23)
According to ( 22) and ( 23), the following property can be obtained:

3 j=1 3 k=1 3 l=1 Q 2 λ(jkl) = 2λ 2 d t T * d t * = 2λ 2 d * 2 . ( 24
)
where d * d t T * d t * ∈ R is the constant distance between F d and F * . Since the translation between F d and F * can be proactively set up in Algorithm 1, it always can be ensured that d * = 0. Owing to the relationship shown in (24), the normalized tensor variables T (t), Q(t) ∈ R 3×3×3 can be calculated by

T(j) = T λ(j) 1 2 3 j=1 3 k=1 3 l=1 Q 2 λ(jkl) Q(j) = Q λ(j) 1 2 3 j=1 3 k=1 3 l=1 Q 2 λ(jkl) . (25)
Using ( 11), ( 19), ( 24), and (25), T (t) and Q(t) can be rewritten as T(j) (t) =

T (j) (t) d * and Q(j) (t) = Q (j) (t) d * .
Moreover, according to (1) and ( 17), the normalized tensor variables T (t) and Q(t) can be formulated in terms of pose information and distance scale factor as follows:

T(j) = 1 d * c R * (j) d t T * -c t * d R T * (j) Q(j) = 1 d * c R * (j) d t T * d R * (j) × , (26)
which indicates that

T(jl) = 1 d * d t * (l) c R * (j) -d R * (lj) c t * Q(jl) = 1 d * c R * (j) d t T * d R * (j) ×(l) . ( 27
)
After taking the time derivative of (27) and using ( 5), the following expression can be obtained:

Ṫ(jl) = 1 d * d t * (l) c Ṙ * (j) -d R * (lj) c ṫ * = d R * (lj) d * v + T(jl) × ω Q(jl) = 1 d * c Ṙ * (j) d t T * d R * (j) ×(l) = Q(jl) × ω. (28)
This paper aims at utilizing the elements selected from the tensor variables to define the visual feedback. To achieve this objective, it is necessary to introduce the desired normalized tensor variables Td , Qd ∈ R 3×3×3 corresponding to T (t) and Q(t), respectively. It is obvious that these two desired normalized tensor variables are defined in terms of the desired pose, reference pose, and current pose being equal to the desired pose. Hence, Td and Qd can be computed from the desired and reference images before the control task starts. Besides, according to the definition of desired normalized tensor variables, Td and Qd can be expressed with the desired pose information and distance scale factor, as follows:

Td(jl) = 1 d * d t * (l) d R * (j) -d R * (lj) d t * Qd(jl) = 1 d * d R * (j) d t T * d R * (j) ×(l)
.

(29)

System errors construction

From (28), it is clear that the time derivative of T (t) is associated with the linear velocity v(t) while the variation of Q(t) is only related to the angular velocity ω(t). Therefore, a good choice is to define the translation and rotation errors with T (t) and Q(t), respectively. By considering the intrinsic relationship between the pose information and the tensor variables shown in ( 27) and ( 29), 3 elements of T (t) and 6 elements of Q(t) are chosen to construct the system errors e T (t) ∈ R 3 and e Q (t) ∈ R 6 , respectively. Ideally, it would be preferred to design the rotation errors with only 3 elements of Q(t), but according to the definition of Q(t), any 3 elements of Q(t) cannot be isomorphic to the rotation errors between the current and desired camera frames. More precisely, it can be obtained from ( 27) and ( 29) that

Q(jl) -Qd(jl) = 1 d * d t T * d R * (j) ×(l) c R * (j) -d R * (j) . If d t T * d R * (j) ×(l) = 0, then Q(jl) (t) = Qd(jl) indicates c R * (j) (t) = d R * (j)
. Note that provided only 3 elements of c R * (t) and d R * are same, it cannot be concluded that these two rotation matrices are identical. Due to this fact, any 3 elements of Q(t) are not isomorphic to the rotation errors, and 6 elements of Q(t) are utilized in this paper to describe e Q (t).

The selection criterion of the system errors is detailed in Algorithm 2. Specifically, if d R * (l1) = 0, then T(1l) (t) can be used to define the translation errors e T (t). For the rotation errors, if

QT (1l1) (t) Q(1l1) (t) = QT (2l2) (t) Q(2l2) (t) and QT (1l1) (t) Q(1l1) (t), QT (2l2) (t) Q(2l2) (t) = 0, then e Q (t)
Algorithm 2 System errors construction

Input:

Tensor variables, T , Q, Td , Qd ; Output:

System errors, e T , e Q ;

1: for each l ∈ {1, 2, 3} do 2:

if d R * (l1) = 0 then 3:
e T ← T(1l) -Td(1l) ; Break; 4:

end if 5: end for 6: for each l 1 ∈ {1, 2, 3} do 7: and9:

for each l 2 ∈ {1, 2, 3} do 8: if QT (1l1) Q(1l1) = QT (2l2) Q(2l2)
QT (1l1) Q(1l1) , QT (2l2) Q(2l2) = 0 then 10: e Q ← Q(1l1) -Qd(1l1) Q(2l2) -Qd(2l2) ; Break; 11: end if 12:
end for 13: end for can be constructed with Q(1l1) (t) and Q(2l2) (t). Based on (27), Q1l1 (t) and Q1l2 (t) can be related to the pose signals as follows:

Q(1l1) = 1 d * d t T * d R * (1) ×(l1) c R * (1) Q(2l2) = 1 d * d t T * d R * (2) ×(l2) c R * (2) (30)
implying that

QT (1l1) Q(1l1) = 1 d * d t T * d R * (1) ×(l1) 2 QT (2l2) Q(2l2) = 1 d * d t T * d R * (2) ×(l2) 2 . Thus, QT (1l1) (t) Q(1l1) (t) = QT (2l2) (t) Q(2l2) (t) and QT (1l1) (t) Q(1l1) (t), QT (2l2) (t) Q(2l2) (t) = 0 indicate that d t T * [ d R * (1) ] ×(l1) = d t T * [ d R * (2) ] ×(l2) and d t T * [ d R * (1) ] ×(l1) , d t T * [ d R * (2) ] ×(l2) = 0. As discussed in
(1l1) (t) Q(1l1) (t) = QT (2l2) (t) Q(2l2) (t) and QT (1l1) (t) Q(1l1) (t), QT (2l2) (t) Q(2l2) (t) = 0 by suitably choosing d R * and d t * .
To clearly explain why Algorithm 2 is applicable for the error definition, let us assume, for instance,

that d R * (11) = 0, QT (11) (t) Q(11) (t) = QT (21) (t) Q(21) (t), and
QT (11) (t) Q(11) (t), QT (21) (t) Q(21) (t) = 0 (i.e., d t T * d R * (1)
×( 1)

, d t T * d R * (2) ×(1) = 0). Then, T(11) (t), Q (
  e Q Q(11) -Qd(11) Q(21) -Qd(21) =         Q(111) -Qd(111) Q(121) -Qd(121) Q(131) -Qd(131) Q(211) -Qd(211) Q(221) -Qd(221) Q(231) -Qd(231)         . (31)
According to ( 26), ( 29), and ( 31), e T (t) and e Q (t) can be rewritten as

e T = 1 d * d t * (1) c R * (1) -d R * (1) -d R * (11) c t * -d t * e Q = 1 d *    d t T * d R * (1) ×(1) c R * (1) -d R * (1) d t T i d R * (2) ×(1) c R * (2) -d R * (2)    .
(32) From ( 32), it can be concluded that if e T (t), e Q (t) → 0,

then c t * (t) → d t * and c R * (1) (t) c R * (2) (t) → d R * (1) d R * (2) provided that d R * (11) = 0, d t T i d R * (1) ×(1) = 0, and d t T i d R * (2) ×(1) = 0.
Since the third column of a rotation matrix can be represented by the cross-product of the other two,

c R * (1) (t) c R * (2) (t) → d R * (1) d R * (2) indicates that c R * (3) (t) → d R * (3) , i.e., c R * (t) → d R * . Once c t * (t) → d t *
and c R * (t) → d R * , the control objective described in Section 2.1 is accomplished. Note that although there might exist different tensor variables which fulfill the conditions presented in Algorithm 2, their latent meaning that facilitates the error definitions is actually the same. Let us take Q(1l1) (t) as an example. It can be found from (30) that for different Q(1l1) (t), the only distinction in their expression is the constant parameters

d t T * d R * (1) ×(l1)
, while the time-varying parameter related to the rotation information, i.e., c R * (1) (t), is identical. Actually, c R * (1) (t) is the key that Q(1l1) (t) can be used to quantify the rotation errors. Since all Q(1l1) (t) contain the same effective information, choosing different Q(1l1) (t) for error construction will not lead to difference in the control development. This also applies to T(1l) (t) and Q(2l2) (t). Thus, the results obtained from (31) in the following are same to the ones based on other error definitions.

Control development

Adaptive control scheme

To design the controller, the derivation of system errors needs to be developed. From ( 28) and ( 31), the open-loop error system can be deduced, as follows:

ėT = d R * (11) d * v + T(11) × ω, ėQ = L Q ω (33)
The International Journal of Robotics Research XX(X)

with L Q (t) ∈ R 6×3 given by L Q Q(11) × Q(21) × =         0 -Q(131) Q(121) Q(131) 0 -Q(111) -Q(121) Q(111) 0 0 -Q(231) Q(221) Q(231) 0 -Q(211) -Q(221) Q(211) 0        
.

(34) Motivated by the open-loop error system presented in (33), the velocity inputs v(t) and ω(t) are designed as follows:

v = 1 d R * (11) -k 1 e T -d * T(11) × ω ω = -k 2 L + Q e Q ( 35
)
where

k 1 , k 2 ∈ R are positive constant gains, L + Q (t) L T Q (t)L Q (t) -1 L T Q (t) ∈ R 3×6 is the pseudo-inverse of L Q (t)
, and d * (t) ∈ R is the estimate of the unknown distance scale factor d * . A property will be given in the following to show that

L T Q (t)L Q (t)
-1 is symmetric and positive definite, and thus the calculation of L + Q (t) is always feasible. Moreover, to compensate for the unknown distance information, the update law for d * (t) is given by

ḋ * = k 3 e T T T(11) × ω (36)
with k 3 ∈ R being a positive constant gain.

After substituting ( 35) into ( 33), the closed-loop error system can be obtained, as follows:

ėT = - 1 d * k 1 e T + d * d * T(11) × ω ėQ = -k 2 L Q L + Q e Q ( 37
)
where d * (t) d * -d * (t) ∈ R is the estimation error of d * .

The control inputs in (35) and the adaptation mechanism in (36) are developed via an iterative analysis procedure.

The main idea is to appropriately design v(t), ω(t) along with the update law for d * (t) to shape the closed-loop error system into the desired form presented in (37). This desired form is deduced through Lyapunov-based methods and will be used to facilitate the following stability analysis. Similar techniques can be found in [START_REF] Dixon | Adaptive tracking control of a wheeled mobile robot via an uncalibrated camera system[END_REF]; [START_REF] Chen | Adaptive homography-based visual servo tracking for a fixed camera configuration with a camera-in-hand extension[END_REF]. Moreover, the adaptation mechanism in ( 36) is utilized to actively compensate for the unknown distance information and to make the system errors converge to zero, instead of guaranteeing d * (t) converges to d * . Actually, conventional adaptive control methods do not ensure or require convergence of the parameter estimates to their corresponding true values [START_REF] Slotine | Applied nonlinear control[END_REF].

Stability analysis

In this section, a property about the interaction matrix L Q (t) is presented firstly, and then the stability is conducted based on this property and Lyapunov based techniques.

Property 1. The matrix L T Q (t)L Q (t)
-1 is symmetric and positive definite.

Proof. See Appendix B.

Theorem 1. Consider the system (33) under the adaptive control inputs designed in (35) and the update law for the unknown distance designed in (36). Then, 1) The equilibria of the closed-loop system (37) are given by

Ω 1 : e T e Q = 0 9 , Ω 2 : e T e Q = -2   0 3 Qd(11) Qd(21)   , Ω 3 : e T e Q = -2   0 3 Qd(11) 0 3   , Ω 4 : e T e Q = -2   0 3 0 3 Qd(21)   . (38)
2) The equilibria Ω 2 , Ω 3 , and Ω 4 are unstable, and the desired configuration Ω 1 is almost globally asymptotically stable.

Proof. A non-negative function V (t) ∈ R is introduced to prove Theorem 1, which is defined as V 1 2 d * e T T e T + 1 2 e T Q e Q + 1 2k 3 d * 2 . ( 39
)
After taking the time derivative of (39) and exploiting ( 36) and ( 37), it can be obtained that

V = e T T d * ėT + e T Q ėQ -d * ḋ * k 3 = -k 1 e T T e T -k 2 e T Q L Q L + Q e Q . (40)
Furthermore, using

L + Q (t) = L T Q (t)L Q (t) -1 L T Q (t)
and Property 1, it can be concluded that

V = -k 1 e T T e T -k 2 e T Q L T Q L Q -1 e Q ≤ 0 (41)
where e Q (t) L T Q (t)e Q (t) ∈ R 3 . Based on (39) and ( 41), it can be concluded that e T (t), e Q (t), d * ∈ L ∞ and e T (t), e Q (t) ∈ L 2 . Then, using (31) and the facts that Td(11) , Qd(11) , and Qd(21) are bounded, T(11) (t), Q(11) (t), Q(21) (t) ∈ L ∞ can be obtained. With the aforementioned bounded variables, it can be determined from ( 33), (34), and (35 [START_REF] Khalil | Nonlinear[END_REF] can be exploited to infer that lim t→∞ e T (t), e Q (t) = 0.

) that v(t), ω(t), L Q (t), ėT (t), ėQ (t) ∈ L ∞ . Since L Q (t), ėQ (t) ∈ L ∞ , ė Q (t) ∈ L ∞ can be deduced. Moreover, as e T (t), e Q (t) ∈ L 2 and ėT (t), ė Q (t) ∈ L ∞ , Barbalat's lemma
It can be found from Property 1 that the rank of L T Q (t) is three, and there exists a null space ker L T Q (t) such that ∀u ∈ ker L T Q (t) , L T Q u = 0. Therefore, lim t→∞ e Q (t) = lim t→∞ L T Q (t)e Q (t) = 0 does not implies that lim t→∞ e Q (t) = 0, i.e., the closed-loop system (37) may contain multiple equilibria. It is clear that the desired configuration Ω 1 is one of the equilibria. In the following, it is proved that Ω 2 , Ω 3 , and Ω 4 are also equilibria with respect to (37).

Since L T Q (t) ∈ R 3×6 has rank three, the dimension of its null space is three. Based on (34) and the facts that Q(11

) (t) × Q(11) (t) = Q(21) (t) × Q(21) (t) = 0 3 , and Q(11) (t) × Q(21) (t) = -Q(21) (t) × Q(11) (t)
, a basis of the null space ker L T Q (t) can be obtained, as follows:

u 1 = Q(11) 0 3 , u 2 = 0 3 Q(21) , u 3 = Q(21) Q(11) . (42) If e Q (t) ∈ ker L T Q (t) , then it can be concluded that e Q = γ 1 u 1 + γ 2 u 2 + γ 3 u 3 (43)
where γ 1 , γ 2 , γ 3 ∈ R are constants that cannot be zero simultaneously. According to ( 31) and ( 42), ( 43) can be rewritten as Qd( 11)

Qd(21) = - (γ 1 -1) Q(11) + γ 3 Q(21) (γ 2 -1) Q(21) + γ 3 Q(11) . (44)
Furthermore, by using ( 26), ( 29), and the facts that

c R T * (1) (t) c R * (2) (t) = d R T * (1) d R * (2) = 0, c R T * (j) (t) c R * (j) (t)= d R T * (j) d R * (j)
= 1, the following properties can be derived: 21) Qd(21) = a 2 (45) and

QT d(11) Qd(21) = 0, QT d(11) Qd(11) = a 1 , QT d(
QT (11) Q(21) = 0, QT (11) Q(11) = a 1 , QT (21) Q(21) = a 2 (46)
where a 1 , a 2 ∈ R are positive constants defined as

a 1 1 d * d t T * d R * (1) ×(1) 2 a 2 1 d * d t T * d R * (2) × (1) 2 .
(47)

Note that the selection criterion described in Section 4.3 ensures that QT (11) (t) Q(11) (t) = QT (21) (t) Q(21) (t), and hence a 1 = a 2 . Substituting (44) into (45) and using (46) to collect similar terms, it can be determined that

(γ 1 -1) γ 3 a 1 + (γ 2 -1) γ 3 a 2 = 0, (γ 1 -1) 2 a 1 + γ 2 3 a 2 = a 1 , (γ 2 -1) 2 a 2 + γ 2 3 a 1 = a 2 . (48)
According to the last two equations of (48), the terms related to γ 3 are eliminated, and it can be obtained that

γ 2 1 -2γ 1 a 2 1 -γ 2 2 -2γ 2 a 2 2 = 0. ( 49
)
If γ 3 = 0, then based on a 1 = a 2 , it can be concluded that γ 1 and γ 2 satisfying the first equation of ( 48) and ( 49) do not exist. If γ 3 = 0, then it can be obtained from ( 48) that (γ 1 -1) 2 a 1 = a 1 and (γ 2 -1) 2 a 2 = a 2 . Based on these two equations, it can be concluded that (γ 1 , γ 2 , γ 3 ) can be selected as (2, 2, 0), (2, 0, 0), or (0, 2, 0). Therefore, there exist another three equilibria for the closed-loop system (37). Specifically, based on (44), the corresponding values of Q(11) (t) and Q(21) (t) for the equilibria Ω 2 , Ω 3 , and Ω 4 are given respectively by 21) .

Q(11) Q(21) = -Qd(11) Qd(21) , Q(11) Q(21) = -Qd(11) Qd(21) , Q(11) Q(21) = Qd(11) -Qd(
(50)

According to lim t→∞ e T (t) = 0, (31), and (50), the equilibria Ω 2 , Ω 3 , and Ω 4 given in (38) can be obtained. Now, the proof of the second claim of Theorem 1 is presented. Firstly, we show that Ω 2 is unstable. Let V Ω2 (t) ∈ R be a non-negative function defined as

V Ω2
1 2 e Q + 2 Qd(11) Qd( 21)

T e Q + 2 Qd(11) Qd( 21) .

(51) V Ω2 (t) = 0 if and only if e Q (t) reaches the equilibrium Ω 2 . Taking the time derivative of (51) and using ( 31), (37), and Property 1, it can be determined that

VΩ2 = k 2 L T Q Qd(11) Qd(21) T L T Q L Q -1 L T Q Qd(11) Qd(21) ≥ 0.
(52) Based on ( 51) and ( 52), Lyapunov's first instability theorem [START_REF] Khalil | Nonlinear[END_REF] can be used to conclude that the origin such that V Ω2 (t) = 0 is unstable, i.e., Ω 2 is unstable.

Secondly, let us show that Ω 3 and Ω 4 are unstable. Since the non-negative functions, which are similar to (51), cannot be found for Ω 3 and Ω 4 , Lyapunov's first instability theorem is no longer applicable. To facilitate the following analysis, Chetaev's theorem [START_REF] Khalil | Nonlinear[END_REF] is utilized. The Chetaev function V Ω3 (t) ∈ R with respect to Ω 3 is defined as

V Ω3 1 2 Q(11) + Qd(11) T Q(11) + Qd(11) - 1 2 Q(21) -Qd(21) T Q(21) -Qd(21) . (53)
Define the set B r x ∈ R 6 | x < r with x(t)

Q(11) (t) + Qd(11) T Q(21) (t) -Qd(21) T T
and r being an arbitrarily small positive constant.

If Q(11) (t) = -Qd(11) and Q(21) (t) = Qd(21) , i.e., e Q (t) is equal to the value at Ω 3 , then x(t) = 0 6 and V Ω3 (t) = 0. Let us also define a subset of B r such that

U x ∈ R 6 | V Ω3 > 0 .
Based on (53), it can be found that if Q(21) (t) -Qd(21) = 0 3 , V Ω3 (t) > 0 at points arbitrarily close to the origin x(t) = 0 6 . Provided that V Ω3 (t) = 0 at x(t) = 0 6 and V Ω3 (t) > 0 for some x(t) arbitrarily close to the origin, the set U can be always constructed [START_REF] Khalil | Nonlinear[END_REF]. By utilizing (31), (37), and Property 1, the time derivative of V Ω3 (t) can be derived as follows:

VΩ3 = k 2 L T Q Qd(11) Qd(21) T L T Q L Q -1 L T Q Qd(11) Qd(21) ≥ 0.
(54) It can be concluded from (54) that V Ω3 (t) ≥ V Ω3 (0). Since V Ω3 (t) is bounded on U and VΩ3 (t) > 0 everywhere in U , x(t) must leave U after picking the initial condition x(0) ∈ U . Moreover, since V Ω3 (t) ≥ V Ω3 (0), x(t) must leave U through the sphere x(t) = r and not through the edges V Ω3 (t) = 0, e.g., Ω 3 . According to the above arguments, Chetaev's theorem can be exploited to obtain that Ω 3 is unstable. Finally, consider the following Chetaev function V Ω4 (t) ∈ R:

V Ω4 - 1 2 Q(11) -Qd(11) T Q(11) -Qd(11) + 1 2 Q(21) + Qd(21) T Q(21) + Qd(21) (55)
Prepared using sagej.cls

The International Journal of Robotics Research XX(X)

whose time derivative is given by

VΩ4 = k 2 L T Q Qd(11) Qd(21) T L T Q L Q -1 L T Q Qd(11) Qd(21) ≥ 0.
(56) Based on ( 55) and ( 56), similar analysis techniques can be utilized to conclude that Ω 4 is also unstable.

Finally, since Ω 2 , Ω 3 , and Ω 4 are unstable, it can be obtained that Ω 1 is almost globally attractive [START_REF] Chaturvedi | Rigidbody attitude control[END_REF][START_REF] Tayebi | Inertial vector measurements based velocity-free attitude stabilization[END_REF].

More discussion about these four equilibria is given now.

If e Q (0) ∈ Φ = e Q ∈ R 6 |e T Q e Q < 4
min {a 1 , a 2 } , then the system errors converge to Ω 1 asymptotically without restricting by other equilibria. To prove this claim, let us define

V Q (t) e T Q (t)e Q (t).
According to ( 38) and ( 45), it can be obtained that the corresponding values of V Q (t) at Ω 2 , Ω 3 , and Ω 4 are 4 (a 1 + a 2 ), 4a 1 , and 4a 2 , respectively. Therefore, the equilibrium in the set Φ is nothing else but Ω 1 . Furthermore, the time derivative of V Q (t) along ( 37) is given by

VQ = -2k 2 e T Q L T Q L Q -1 e Q ≤ 0 (57)
where e Q (t) is defined after ( 41). ( 57) implies that ∀t ≥ 0,

V Q (t) ≤ V Q (0). Based on V Q (t) ≤ V Q (0), it can be concluded that if e Q (0) ∈ Φ, then ∀t ≥ 0, e Q (t) ∈ Φ, i.e., Φ is a positively invariant set.
Since Ω 1 is the only equilibrium in the positively invariant set Φ, the system errors converge to

Ω 1 provided e Q (0) ∈ Φ.
Moreover, it is interesting to note that from ( 26), ( 29), and (50), the corresponding value of c R * (t) for the equilibria Ω 2 , Ω 3 , and Ω 4 can be derived respectively as follows:

c R * = -d R * (1) -d R * (2) d R * (3) , c R * = -d R * (1) d R * (2) -d R * (3) , c R * = d R * (1) -d R * (2) -d R * (3) . (58)
From a geometric point of view, (58) indicates that the rotation of the current camera frame F c at Ω 2 , Ω 3 , and Ω 4 differs from the desired frame F d by 180 • of rotation about the axes d R * (3) , d R * (2) , and d R * (1) , respectively. For instance, if d R * is chosen as the identity matrix, then Ω 2 , Ω 3 , and Ω 4 correspond to F c differing from F d by 180 • of rotation about the z-axis (i.e., optical axis), y-axis, and xaxis, respectively. Furthermore, in the case that d R * = d R i , if the rotation between the initial and desired camera frames, i.e., F i and F d , is equal to 180 • along the z-axis, or y-axis, or x-axis, then the system will be subject to the unstable equilibrium Ω 2 , or Ω 3 , or Ω 4 at the beginning. Note that under most circumstances, a 180 • rotation along the y-axis or x-axis will make the target object out of the camera field of view, and thus Ω 3 and Ω 4 usually do not belong to the system workspace.

Simulation and experimental results

Simulation and experiment studies are performed with the aid of the open-source ViSP library [START_REF] Marchand | ViSP for visual servoing: A generic software platform with a wide class of robot control skills[END_REF] to illustrate the performance of the proposed approach. All the experiments are conducted by making use of a grayscale camera attached to the end-effector of a 6 DOF robot. The camera provides images with a frame rate of 30 fps and a resolution of 640 × 480 px. Besides, the adjustable parameters d R * and d t * in Algorithm 1 are designed as d R * = d R i and d t * = -0.5 d ti . T(11) (t), Q(11) (t), and Q(21) (t) are used to define the system errors.

Comparison validation

Comparison results are provided to evaluate the effectiveness of the proposed approach. Existing four methods are selected to facilitate the comparison, and brief introduction of these four methods is listed as follows:

• Method 1 [START_REF] Silveira | Direct visual servoing: Vision-based estimation and control using only nonmetric information[END_REF]: Instead of using trifocal tensor elements, this method combines one feature point with homography elements to define visual features and control inputs.

• Method 2: All elements of the normalized trifocal tensor T (t) are used to define the visual features, and then the control inputs are generated with the strategy described in Section 2.3. Note that the visual feedback is defined with T (t), which ensures the interaction matrix L(t) depends on the unknown constant distance d * . Since d * is invariable, an approximation of d * , i.e., d * = 0.4, has been selected to compute the pseudo-inverse of L(t) involved in (10).

• Method 3: SVD-based techniques are exploited to obtain explicit pose information (i.e., rotation and scaled translation) from the trifocal tensor, and then the controller is developed with the obtained pose signals. Since the decomposed translation is scaled by an unknown constant, an approximation is also chosen to facilitate the control input calculation.

• Method 4 [START_REF] Malis | 2 1/2 D visual servoing with respect to unknown objects through a new estimation scheme of camera displacement[END_REF]: The homography-based 2.5 D method combines one feature point with rotation information to construct visual features and control inputs. In this set of experiments, the regulation of nine feature points are considered. These tracked points are non-coplanar black dots with white background. Thanks to the high contrast between the black features and white surface, the detection and tracking of the nine dots can be obtained easily through the blob tracker provided by ViSP. In fact, this experimental setting is aimed at reproducing the identical initial condition to conduct the comparison experiment. Regulating a set of points belonging to less structured objects will be studied in Section 6.3 to further show the viability of developed approach in more realistic scene. In the following, three cases with different initial and desired camera poses are utilized to test the methods.

• Pure Translation Case: The first experiment considers a pure translation along the three axes. The errors between the initial frame F i and the desired frame F d are reported in Table 1. Meanwhile, the corresponding experimental results are shown in Figures 3,4, and 5. From the results, it can be found that the motion and image trajectories of Method 2, Method 3, Method 4, and proposed approach are linear without redundant rotation component. In fact, for the pure translation case, the linear image trajectories can avoid losing the feature points effectively. However, as presented in Figure 5 rotation movement, which results in curved motion and image trajectories. Figure 5(e) shows that the control inputs of the proposed approach contain larger variations than other methods at the beginning. The proposed controller is constructed directly with some of the tensor elements. Since the camera will jitter when starting up the robot, the estimation stability of these tensor elements will be affected and that leads to the input jitter at the beginning. Nevertheless, the regulation error can be reduced by the proposed approach during the motion procedure, and the convergence can be achieved in both Cartesian and image space.

• Large Rotation Case: For visual servoing, one of the most challenging configurations is the large rotation error around the z-axis. To further evaluate the proposed approach, a 120 • z-axis rotation is considered here. The experimental results are depicted in Figures 6,7, and 8. From Figure 7(e), it can be seen that the image trajectories of the feature points corresponding to the proposed approach follow a spiral motion, which is exactly as expected due to the rotation motion around the z-th axis. Although all image trajectories are curved, no feature point moves too near to the image boarders. Note that only the rotation error along the z-axis needs to be adjusted, but as presented in Figures 8(a • General Motion Case: From Table 1, it is clear that both large translation and rotation errors along the three axes exist in this case. As illustrated in Figures 9 and 10, the Cartesian and image trajectories of Method 2, Method 3, Method 4, and proposed approach are well-behaved, while the trajectories Prepared using sagej.cls corresponding to Method 1 contains overshooting. It is clear that for Method 1, some feature points move near to the image borders, which have the risk of leaving the camera view.

-0.4 -0.2 0.5 X 0 Z (m) 0.2 Z X Y 0.4 Y Z Y (m) 0 0.2 0.1 X (m) 0 -0.1 -0.5 -0.2 method1 method2 method3 method4 proposed
Although Method 1, Method 2, and the proposed approach all use elements extracted from homography or trifocal tensor to develop the control strategy, the performance of these three methods are quite different. Based on the above comparison results, it can be concluded that the visual features defined by the proposed approach show satisfactory decoupling characteristics. This is because the tensor elements used for the error system are selected by considering the geometric connotation, which guarantees that e T (t) and e Q (t) correspond to the translation and rotation errors, respectively. Owing to the decoupled system errors, the motion trajectory of the proposed approach is more efficient than the ones of Method 1 and Method 2 in aforementioned cases. Actually, the system errors constructed in Method 1 and Method 2 are coupled strongly, leading to the superfluous movement in specific configurations such as pure rotation and large translation cases.

6.2 Robustness analysis 6.2.1 Robustness to image noise. The proposed approach does not depend on SVD-based pose extraction during the control procedure, which can avoid complex on-line computation. In this subsection, the proposed approach is compared with SVD-based methods to evaluate the algorithm robustness in the presence of image noise. Since Method 3 and Method 4 rely on SVD, they are chosen to facilitate the comparison.

The implementation details are introduced now. A simulated free-floating camera controlled in 6 DOF is used for the regulation task. This camera is driven by these three methods, respectively, from a same initial pose to a desired pose. During the motion procedure, nine noncoplanar feature points are used to calculate the homography for Method 4 and the trifocal tensor for Method 3 and proposed approach. Gaussian noise with a standard deviation of 1 pixel and a mean of 0 pixel is added to the image coordinates of feature points. To compare the three methods rationally, all of them are executed by the same number of iterations, and the control gains are adjusted to ensure that the initial input amplitude of these three methods is similar. By tuning the iteration number and the gain parameters, it is also guaranteed that each method achieves stability (i.e., the system errors all converge to zero closely and remain in that situation for some time) before the end of iterations. Each method is tested by running 50 simulations, and the average results of the translation, rotation, and feature errors, i.e., e T , The corresponding results are presented in Table 2. It can be seen that our approach and Method 3 present similar performance with respect to the final translation error, while for the rotation and feature errors, the proposed approach achieves better results than Method 3. Furthermore, by comparing the proposed approach with Method 4, it can be found that Method 4 achieves better convergence of the feature error, and the proposed approach shows smaller final translation and rotation errors. Method 4 directly uses one feature point as part of the system errors, and that is probably the reason why it presents nice performance with respect to feature error e I .

The trifocal tensor T (t) is estimated by using the point sets (m c (t), m d , m * ). As described in Section 3, the virtual normalized Cartesian coordinate m * is calculated with the point correspondences m i and m d . Since m i and m d are extracted from the initial and desired images, the image noise has an indirect impact on m * . To demonstrate the influence, simulation is conducted by using the "real" points. Precisely, the simulated camera is moved to the corresponding reference pose to capture the "real" points, and then the "real" points replace the virtual ones to facilitate the tensor computation. The average translation, rotation, and feature errors of 50 simulation runs are [0.0252, 0.0379, 0.0227]. Compared to the results shown in Table 2, it can be found that as expected, using the "real" points can achieve better control performance. This indicates that the virtual points are polluted by the image noise and are less precise than the "real" ones. Nonetheless, from a practical point of view, generating a virtual reference view to facilitate the tensor computation is much more convenient than truly capturing a third view.

Control performance near to unstable equilibria.

As stated in Theorem 1, there exist three unstable equilibria of the closed-loop system (37). Since

• , 0 • , 180 • ], or [0 • , 180 • , 0 • ], or [180 • , 0 • , 0 • ],
then the initial system states are subject to the equilibrium Ω 2 , or Ω 3 , or Ω 4 . To verify the effectiveness of proposed approach near to the unstable equilibria, an experiment with initial rotation errors [0 • , 0 • , 178 • ] is conducted. Based on the results given in Figure 12, it can be found that due to the influence of Ω 2 , the convergence rate at the beginning is quite slow, but as the camera pose moves away from Ω 2 , the system errors get close to zero successfully. The obtained results essentially correspond to the theoretical analysis.

There exist translation errors between the initial and desired camera frames in the experiment shown in Figure 12. It is interesting to further evaluate the developed controller by selecting the initial pose errors as [0m, 0m, 0m, 0 • , 0 • , 178 • ], which is very near to the Chaumette Conundrum [START_REF] Corke | A new partitioned approach to image-based visual servo control[END_REF]. Note that when the desired camera pose corresponds to a pure rotation (i.e., d t i = 0 3 ), the trifocal tensor T i presented in ( 13) is equal to zero, and thus d R i cannot be decomposed from T i . Under this circumstance, homography techniques are utilized to calculate d R i , and the rotation and translation between F d and F * are selected as d R * = d R i and d t * = [0.4m, -0.3m, -0.6m]

T to facilitate the tensor calculation.

In addition, we find that Method 2 is also subject to the unstable equilibria of the proposed approach. Hence both Method 2 and the proposed approach are tested to better evaluate the control performance. The corresponding simulation results are shown in Figure 13. It can be seen that Method 2 produces both redundant translation and rotation motion, causing the feature points to leave the image. Although the proposed approach also introduces unnecessary translation motion, it can reduce the rotation errors along the z-axis effectively and drive the camera to the desired pose gradually. In fact, the performance of the proposed approach under this extreme case is not good enough, and this needs to be further studied.

By initializing the rotation errors close to [0

• , 180 • , 0 • ] or [180 • , 0 • , 0 • ],
the target object will be out of the camera view, and thus the cases about the equilibria Ω 3 and Ω 4 are not further discussed.

Robustness to coarse

Robustness to coarse intrinsic camera parameters.

The algorithm robustness with respect to coarse intrinsic camera calibration matrix K is also considered. In this case, the image center is roughly used for the principal point, and

The International Journal of Robotics Research XX(X) a supplementary error is added to the pixel and focal lengths (10%). It is obvious that the calibration accuracy of matrix K has a direct impact on the estimation of d R i , d ti , tensor variables, etc. Therefore, the added error can trigger chain reactions that reduce the computation precision of related variables. To better illustrate the algorithm performance, Method 4, i.e, the 2.5 D visual servoing, and the proposed approach are tested under the same conditions. According to the results given in Figure 15, it can be found that for both methods, there exist differences between the camera trajectories resulting from the coarse and well calibrated K. Nonetheless, the deviation between the trajectories shown in Figure 15(b) is much smaller than the one presented in Figure 15(a), indicating that the proposed approach can achieve acceptable regulation result with coarse calibration matrix K.

Results of general scene

The last set of experiments are meant to illustrate the potential of our approach in addressing visual servoing under more realistic conditions compared to the use of blob features as done so far. To this end, we consider regulation of feature points lying on much less structured target objects.

In the first case, the observed scene consists of three drink boxes as shown in Figure 16(b). The contours of these boxes are tracked in real time with the aid of the moving-edges tracker available in ViSP, and then the intersection points of carton edges are extracted to calculate the trifocal tensor. The corresponding results are illustrated in Figure 16. Compared to the experiments based on blob features, it can be found that the control inputs presented in Figure 16(e) are not as smooth as the previous ones. That is because the scenario considered in this case contains more complex textured information, which influences the stability of feature extraction. From Figure 16(d), it can be seen that the system errors are close to zero after 15 s, implying satisfactory results can be achieved. The second case uses a soccer ball as the target object, which is presented in Figure 17(b). Extraction and tracking of the feature points are achieved by exploiting the Kanade-Lucas-Tomasi algorithm implemented in OpenCV. Figure 17 shows that both the Cartesian and image space errors converge, while the system errors and control inputs jitter near the end. Considering the less structured scenario, the jitter issue is caused by the accumulation errors of feature tracking. Actually, no all the detected feature points can be tracked consistently during the camera motion. As the tracking errors accumulate, the stability of trifocal tensor estimation reduces, leading to the jitter phenomenon near the end.

Conclusion

A 6 DOF visual servoing approach based on trifocal tensor was proposed in this paper. Considering the geometric connotation of trifocal tensor model, partial tensor elements were selected to define the visual features. Moreover, an adaptive controller was designed to accomplish the regulation task. The system stability was analyzed via the Lyapunov-based method. Existing controllers that use trifocal tensor (or homography) elements as feature information can only achieve local stability. However, the developed approach can ensure a larger convergence region theoretically, and the unstable equilibria of the error system were clearly derived. Several simulation and experimental scenarios were studied to qualitatively evaluate the performance of the proposed approach. Owing to the constructed visual feedback satisfied decoupling properties, it can be found from the first set of experiments that the motion trajectories of the developed approach were more efficient than the ones based on coupled visual features. The results also illustrated that the proposed approach was robust to image noise, coarse approximation of pose signals, and coarse intrinsic camera calibration matrix.

Nevertheless, the trifocal tensor based 6 DOF visual servoing still deserves further developments in some aspects. The trifocal tensor is calculated by using point correspondences in this paper, and thus the conventional feature detection and tracking are required during the control process. Obviously, the computation accuracy of trifocal tensor is sensitive to the feature detection and tracking errors. To enhance computation robustness, a possible way would be to estimate the trifocal tensor with dense information, such as image intensities [START_REF] Benhimane | Homography-based 2D visual tracking and servoing[END_REF][START_REF] Silveira | Direct visual servoing: Vision-based estimation and control using only nonmetric information[END_REF].

Although an adaptive update law is designed to compensate for the unknown distance, the estimated value is not convergent to the actual one. Note that if the unknown distance can be obtained accurately, then the structure of the observed scene can be recovered. To make the visionbased robotic system versatile, it would be interesting to simultaneously accomplish the distance estimation during the visual servoing. The active optimization strategy [START_REF] Spica | Coupling active depth estimation and visual servoing via a large projection operator[END_REF] or concurrent learning technique [START_REF] Parikh | Target tracking in the presence of intermittent measurements via motion model learning[END_REF] could be coupled into the proposed control scheme in this regard.

T (j) = d R * (j) d t T * -d t * d R T * (j) = [x j ] × (61)
where x j ∈ R 3 is given by Provided enough pairs of point correspondences (at least 8), a homogeneous set of equations as (65) can be obtained, and then the trifocal tensor can be computed effectively up to a scale. Thus, the model ( 3) is applicable to tensor estimation in the case that F c coincides with F d .

Appendix B. Proof of Property 1

Proof. According to ( 26) and ( 34), L Q (t) can be rewritten as

L Q = 1 d *    d t T * d R * (1) ×(1) c R * (1) × d t T * d R * (2) ×(1) c R * (2) ×    . (66)
Then, it can be derived that 68), (69), and the above analysis, it can be concluded that for y = 0 3 , y T L T Q (t)L Q (t)y > 0, i.e., L T Q (t)L Q (t) is symmetric and positive definite. Therefore, the corresponding inverse matrix L T Q (t)L Q (t) -1 is also symmetric and positive definite [START_REF] Horn | Matrix Analysis[END_REF].

L T Q L Q = 1 d * 2 d t T * d R * (1) ×(1)
Prepared using sagej.cls

Figure 1 .

 1 Figure 1. Trifocal tensor vision model.

d

  R i ∈ SO 3 and d t i ∈ R 3 as the constant rotation and translation between F d and F i expressed in F d . The trifocal tensor T i can be related to the aforementioned pose signals as follows:

Figure 2 .

 2 Figure 2. Geometric relationship among the initial, desired, and reference views by selecting d R * = d Ri and d t * = -d ti.

  11) (t), and Q(21) (t) are utilized to construct the system errors, i.e.,

Figure 3 .

 3 Figure 3. Cartesian space motion trajectories during the pure translation case. The blue and red cameras represent the initial and desired poses, respectively.

Figure 4 .

 4 Figure 4. Experimental comparisons of the image trajectory for: (a) method 1, (b) method 2, (c) method 3, (d) method 4, (e) and proposed approach in the pure translation case. The circles and asterisks represent the initial and desired position of feature points, respectively.

Figure 5 .

 5 Figure 5. Experimental comparisons of the control inputs for: (a) method 1, (b) method 2, (c) method 3, (d) method 4, (e) and proposed approach in the pure translation case.

Figure 6 .

 6 Figure 6. Cartesian space motion trajectories during the large rotation case.

Figure 7 .

 7 Figure 7. Experimental comparisons of the image trajectory for: (a) method 1, (b) method 2, (c) method 3, (d) method 4, (e) and proposed approach in the large rotation case.

Figure 8 .Figure 9 .

 89 Figure 8. Experimental comparisons of the control inputs for: (a) method 1, (b) method 2, (c) method 3, (d) method 4, (e) and proposed approach in the large rotation case.

Figure 10 .

 10 Figure 10. Experimental comparisons of the image trajectory for: (a) method 1, (b) method 2, (c) method 3, (d) method 4, (e) and proposed approach in the general motion case.

Figure 11 .

 11 Figure 11. Experimental comparisons of the control inputs for: (a) method 1, (b) method 2, (c) method 3, (d) method 4, (e) and proposed approach in the general motion case.

Figure 12 .

 12 Figure 12. Results with initial system errors close to the equilirium Ω2 and d ti = 03: (a) Camera motion in Cartesian space. (b)

  d R * and d t * are selected as d R * = d R i and d t * = -0.5 d ti , it can be concluded from (58) that if the initial rotation errors are chosen as [0

Figure 13 .

 13 Figure 13. Simulation results with initial system errors close to the equilirium Ω2 and d ti = 03: (a) Camera motion in Cartesian space. (b) Image trajectory of the feature points for method 2. (c) Control inputs for method 2. (d) Image trajectory of the feature points for proposed approach. (e) Control inputs for proposed approach.

  pose signals d R i and d ti need to be calculated to construct the reference frame F * . In order to test the robustness of the controller with respect to these two pose signals, supplementary errors are added to d R i (5 • on each axis) and d ti (5% on each axis). It is clear that coarse d R i and d ti can reduce the estimation accuracy of tensor variables. Moreover, since d R * is selected as d R i in the experiment, the supplementary bias is also injected into d R * . The coarse tensor variables and d R * will directly affect the control performance as described by (35). The experimental results are presented in Figure 14. Due to the introduction of pose errors, the camera motion path and the image trajectory of the feature points are different from the ones without supplementary errors. However, the camera still converges to the desired pose closely with the final positioning error being [0.003m, -0.002m, 0.016m, -0.011 • , -0.016 • , 0.001 • ], which demonstrates the correct realization of the task.

Figure 14 .

 14 Figure 14. Results with supplementary errors added to d Ri and

Figure 15 .

 15 Figure 15. Results with supplementary errors added to intrisic camera calibration matrix K: (a) Camera motion in Cartesian space for Method 4. (b) Camera motion in Cartesian space for the proposed approach.

Figure 16 .

 16 Figure 16. Regulation of feature points extracted from three drink boxes: (a) Initial image. (b) Image trajectory of the feature points. (c) Camera motion in Cartesian space. (d) System error convergence. (e) Control inputs.

Figure 17 .

 17 Figure 17. Regulation of feature points extracted from a soccer ball: (a) Initial image. (b) Image trajectory of the feature points. (c) Camera motion in Cartesian space. (d) System error convergence. (e) Control inputs.

  d ] × = 0 3×3 . (63)Based on m c = m d , (63) can be transformed into the following linear expression:m * (1) m d m T d m * (2) m d m T d m *(3) m d m found from (64) that B ∈ R 3×9 has rank one, i.e., each pair of point correspondences provides one linearly independent equation to estimate x 1 , x 2 , and x 3 . Precisely, the linear independent equation extracted from (64) is given by

  (t) × y = 0 if and only if y and c R * (1) (t) are collinear. Similarly,y T c R * (2) (t) T × c R * (2) (t) × y = 0 issatisfied, for some y = 0 3 , if and only if y and c R * (2) (t)) are collinear. Since c R * (1) (t) and c R * (2) (t) are linearly independent, they cannot be both collinear to the same y. Based on (

Table 1 .

 1 Errors between the initial frame Fi and the desired frame F d for a dot scene.

	Case	Translation Errors (m) tx ty tz	Rotation Errors ( • ) rx ry rz
	Pure Translation	-0.30	0.11	0.39	0	0	0
	Large Rotation	-0.08	0.04	0.37	0	0	-120
	General Motion	-0.57	0.53	0.30	31	24	27

Table 2 .

 2 Comparison of different methods in the presence of image noise: eT , eR, and eI represent the final translation, rotation, and feature errors, respectively.

		e T	e R	e I
	Method 3	0.0246	0.0647	0.0623
	Method 4	0.0654	0.0573	0.0190
	proposed approach	0.0255	0.0488	0.0333

Prepared using sagej.cls

Funding

This work was supported in part by the National Natural Science Foundation of China under Grant 61433013, and in part by the scholarship from Zhejiang University.

Appendix A. Potential degeneration of trifocal tensor

In paper, the tensor is used to encapsulate the geometric relationship across three views and is estimated via point correspondences based on the conventional model presented in (3). However, from Figure 1, if two of the three frames F c , F d , and F * are same, there may exist degeneration for the tensor estimation. More precisely, in the case that F * and F d are coincident, it can be found from Figure 1 that d R = I 3×3 , d t * = 0 3 , and m * = m d . Then, (1) can be rewritten as

indicating that the trifocal tensor T (t) only contains the translation information c t * (t). Based on ( 59), (3) can be simplified as

cannot be estimated from (60), i.e., T (t) cannot be estimated correctly from the model (3). Without loss of generality, the case that F * and F c are coincident can be analyzed by the same way.

Note that if F c coincides with F d , the model ( 3) is convenient for estimating the trifocal tensor. Specifically, under this circumstance, c R * = d R * , c t * = d t * , and m c = m d . The trifocal tensor given in (1) can be reformulated as


BOUABID Oussama Reda
email: redaoussama@yahoo.fr

E L Ouahidi
email: ouahidi@fsr.ac.ma

Daniel Bourget
email: daniel.bourget@enst-bretagne.fr

Interaction Signatures and Action Templates in the ODP Computational Viewpoint

Keywords: ODP, Computational Viewpoint, UML, OCL, Meta-modelling, Interaction Signature, Action Template

In this work we raise two issues that we came across when aiming to formalize both interaction signatures and action templates within the ODP computational viewpoint. We discuss these two concepts and present a way to formalize them by introducing a new term to formal descriptions of interaction signatures. In the same spirit as other works, our aim is to address issues concerning how concepts of the ODP computational viewpoint are currently defined as we present some solutions to their formalisation. If required, our work aim to serve as a step to help improve or change the current process of formalizing the ODP computational viewpoint concepts using the UML language.

Introduction

The ODP standardization initiative has led to a framework by which distributed systems can be modeled using five viewpoints. For each viewpoint, the Reference Model [START_REF] Iso/Iec | Basic Reference Model of Open Distributed Processing-Part1: Overview and Guide to Use ISO/IEC CD 10746-1[END_REF], [START_REF]ISO/IEC, RM-ODP-Part2: Descriptive Model ISO/IEC DIS[END_REF], [START_REF]ISO/IEC, RM-ODP-Part3: Perspective Model ISO/IEC DIS[END_REF] for ODP provides a viewpoint language that defines concepts and structuring rules for specifying ODP systems from the corresponding viewpoint. These viewpoints include a computational viewpoint, which is concerned with the description of the system as a set of objects that interact at interfaces -enabling system distribution. A computational specification describes the functional decomposition of an ODP system, in distribution transparent terms and is constrained by the rules of the computational language. These comprise amongst others interaction rules.

Recent work within the computational viewpoint such as [START_REF] Romeo | Modelling the ODP Computational Viewpoint with UML 2.0[END_REF], [START_REF] Akehurst | Addressing Computational Viewpoint Design[END_REF], [START_REF] Bordbar | Using UML to specify QoS constraints in ODP[END_REF] has mainly addressed the specification of the functional decomposition of an ODP system using UML. Other work [START_REF] Romero | Action templates and causalities in the ODP computational viewpoint WOD-PEC[END_REF] has focused on how to consistently formalize concepts of the ODP computational viewpoint and clarify some ambiguities found while aiming to express them formally. The authors discussed the issue concerning whether Action Templates belong to the syntactic level or the semantic one. Then, they proposed to introduce the term Interaction Signature at the syntactic level, and to reserve Action Templates to a semantic level while they interaction signature as syntactic. They also raised a second issue which has to do with the way in which the concept of Causality is used and have proposed some solutions.

From this perspective, we raise the issue of expressing Operation Signatures in terms of Action Templates and show how to get round the problem of whether Operation Signatures are kinds of Action Templates or are constituents of Action Templates. As we shall see, we propose to solve the problem by formalizing the concept of both Invocations and their associated Terminations by introducing them as roles played in Action Templates. On the other hand, we address another issue concerning how to describe both Operation Signatures and Signal Signatures on one side and Flow Signatures on the other side in terms of Action Templates. In fact, Flow Signatures differ significantly in their characteristics from both Operation and Signal Signatures. That is, a Flow Signatures has an information type characteristic which is not the case for Operation and Signal Signatures. Conversely, both Operation and Signal Signatures have parameters and their numbers as two characteristics which are not significant in Flow Signatures. We propose to solve this issue by introducing a new term referred to as ParametrizedActionTemplate as we shall see later.

The RM-ODP is not prescriptive about the use of any particular formal description and specification techniques for the specification of ODP systems. Re-cently there has been a considerable amount of research [START_REF] Steen | Applying the UML to the ODP Enterprise Viewpoint[END_REF] [9], [START_REF] Steen | Formalising ODP Enterprise Policies[END_REF] within the field of applying the UML Language [START_REF] Booch | The Unified Modelling Language Guide Addison Wesly[END_REF], [START_REF] Rumbaugh | The Unified Modelling Language Reference Manual[END_REF] as a formal notation with the ODP viewpoints, and particularly to the ODP computational viewpoint [START_REF] Romeo | Modelling the ODP Computational Viewpoint with UML 2.0[END_REF], [START_REF] Akehurst | Addressing Computational Viewpoint Design[END_REF], [START_REF] Bordbar | Using UML to specify QoS constraints in ODP[END_REF].

In this respect, we use the UML language to discuss and present our proposals. Our contribution is based on ideas from the field of defining notations for ODP viewpoints.

The remainder of the paper is organized as follows. In Section 2, we present concepts of Interaction Signatures provided by RM-ODP. We discuss in section 3 how to express Operation Signatures in terms of Action Templates. In section 4 we show how to integrate the Flow Signatures concept to the Operation Signatures model. A conclusion and perspectives end the paper.

Interaction Signatures concepts

In this section, we present the Interaction Signatures concepts as they are defined in the computational viewpoint. These definitions will serve us to discuss the ideas of the rest of the paper. the definitions are given as follows:

A computational interface template is an interface template for either a signal interface, a stream interface or an operation interface. Each interface has a signature:

• A signal interface signature comprises a finite set of action templates, one for each signal type in the interface. Each action template comprises the name for the signal, the number, names and types of its parameters and an indication of causality (initiating or responding, but not both) with respect to the object which instantiates the template.

• An operation interface signature comprises a set of announcement and interrogation signatures as appropriate, one for each operation type in the interface, together with an indication of causality (client or server, but not both) for the interface as a whole, with respect to the object which instantiates the template. Each announcement signature is an action template containing both the name of the invocation and the number, names and types of its parameters. Each interrogation signature comprises an action template with the following elements : the name of the invocation; the number, names and types of its parameters, a finite, non-empty set of action templates, one for each possible termination type of the invocation, each containing both the name of the termination and the number, names and types of its parameters.

• A stream interface comprises a finite set of action templates, one for each flow type in the stream interface. Each action template for a flow contains the name of the flow, the information type of the flow, and an indication of causality for the flow (i.e., producer or consumer but not both) with respect to the object which instantiates the template.

Operation Signatures and Action Templates

When trying to formalize these concepts we have met with an issue concerning Action Templates and how they are currently used and defined currently. In other work such as [START_REF] Romero | Action templates and causalities in the ODP computational viewpoint WOD-PEC[END_REF] discussions have focused on whether an Action Template concept lays on a syntactic level or a semantic one. Here, we do not confront this issue as we attempt to solve the problem on a syntactic level. We think that the difficulty of formalizing Action Templates stems from the fact that sometimes, Interaction Signatures seem to be kind ofAction Templates, while other times they comprise a set of Action Templates. In fact, Announcement Signatures are kind of Action Templates. In contrast, Interrogation Signatures consist of two kinds of interactions which are Invocations and their associated Terminations. Thus, it is not evident whether Operation Signatures are kind of Action Templates or comprise Action Templates and it is difficult to merge these two faces of Operation Signatures in order to formalize them in one blow.

Furthermore, Invocations and Terminations seem to be kinds of Action Templates. However, the definition of Interrogation Signatures above is a little bit ambiguous. Indeed, Interrogation Signatures are defined as comprising Actions Templates (the Invocations) which themselves (the Invocations) comprise a finite non empty set of Action Templates (the terminations). This definition is a bit confusing when trying to formalize Interrogation Signatures(Invocations and Terminations). To eliminate this ambiguity, we can see this definition from another perspective. In fact, we can look at Interrogation Signatures as ones comprising both Invocations and their corresponding Terminations which are now linked with an association. So, our proposals to solve this issue is to introduce roles ( invocation role, termination role) to Action Templates (see figure 1). Having said that, Announcement Signatures are now kind of Action Templates, while Interrogation Signatures comprise Action Templates, and that roles introduced to Action Templates are there for distinguish between Invocations and their associated Terminations.

Finally, to complete our proposal, we must add a constraint which asserts that whenever an Action Template plays the role of an Invocation the set of its corresponding Terminations is not empty. we leave this to later in the work.

Flow Signatures and Action Templates

Now that we know how to express Operation Signatures in terms of Action Templates, we turn our attention to Flow signatures, and see how to formalize them in terms of Action Templates. We shall see how to integrate Flow Signatures with the Interaction Signatures model and clarify some inconsistencies by introducing a new term that we call ParametrizedAc-tionTemplate.

When we look at how Flow Signatures are defined, we can see they are described as kind of Action Templates. However, when taking a close look to this, we realize that it is not convenient to derive Flow Signatures directly from already formalized Action Templates. In fact, Flow Signatures do not involve parameters and their numbers as characteristics which describe them statically. Moreover, Operation Signatures are not characterized by the Flow Information Type which is strictly belonging to Flow Signa-tures. Thus, we cannot express both Flow Signatures and Interrogation Signatures directly in terms of Action Templates in one go. We resolve this problem by introducing the term ParametrizedActionTemplate as an intermediate level between interrogation Signatures and Action Templates(see figure 2). Now, Operation Signatures will be derived indirectly from Action Templates via Parameterized Action Template while Flow Signatures derive its description directly from Action Templates. In doing so, the description of Action Templates will change. Indeed, since Action Templates are the common descriptive elements between Operation Signatures and Flow Signatures, an Action Template will have neither parameters, nor their numbers in its description. In fact, these two attributes belong now to the term ParametrizedActionTemplate and Action Templates are now expressed in terms of the minimal description consisting of the name and causality of Action Templates which is conceptually more convenient.

Having done this, we can join the two models elaborated above into one model that describes all the Interaction Signatures in one blow (see figure 3). This constraint occurs in the context of Interrogation Signature. Now that we have joined all the pieces of the puzzle together, the final model can be seen as a consistent description of Interaction Signatures within the ODP computational viewpoint.

Conclusion and perspectives

In our past work [START_REF] Ouahidi | An UML-based Metalanguage for the QoS-aware Enterprise Specification of Open Distributed System[END_REF], we have proposed a UML-Based language for the QoS-aware enterprise specification of ODP systems in which we focused mainly on the specification of QoS from an enterprise viewpoint. When trying to deal with the QoS concepts within the computational viewpoint we have met with the issues as discussed here. So, we decided to clarify some ambiguities relevant to the computational viewpoint. Now we have done that, our work serves as a contribution within the field of formalizing the ODP computational viewpoint, at the same time that it helps us to move forward safely and confidently. We are now dealing with the issue of formalizing QoS concepts from the computational viewpoint.

Figure 1 :

 1 Figure 1: Operation Signatures in terms of Action Templates

1 Figure 2 :

 12 Figure 2: Flow Signatures and Action Templates

Figure 3 :

 3 Figure 3: An UML model for Interaction Signatures As we mentioned above, we have to add a constraint which ensures that the set of Terminations associated to an Invocation is never empty. But, as Interrogation Signatures are related now to Parametrized Action Templates, the constraint will belong to the ParametrizedActionTemplate term. The constraint written in OCL is as follows: InterrogationSignature self.ParameterizedActionTemplate.termination → size > 0This constraint occurs in the context of Interrogation Signature. Now that we have joined all the pieces of the puzzle together, the final model can be seen as a consistent description of Interaction Signatures within the ODP computational viewpoint.