Philippe Martinet Lasmea
email: martinet@lasmea.univ-bpclermont.fr

COMPARISON OF VISUAL SERVOING TECHNIQUES: EXPERIMENTAL RESULTS

Keywords: Position based control, Image based control, Visual servoing

In visual servoing applications, two main approaches were de ned by Sanderson and Weiss at the beginning of the eighties: Position Based Control and Image Based Control. The aim of this article is to present di erent control laws using these approaches, and discuss the main advantages and disadvantages of both approaches through experimental results. The target object is composed of four non-coplanar characteristic points. From the projection of these four points in the image frame, the estimate of the Pose of the object in the sensor frame is computed using the Dementhon algorithm.

1 Introduction Sanderson and Weiss in 15] i n troduced an important classi cation of visual servo structures based on two criteria: control space and the presence of joint-position feedback. So, in this classi cation we distinguish two m a i n approaches:

Position Based Control: in this case, image features are extracted from the image and a model of the scene and the target is used to determine the pose of the target with respect to the frame attached to the camera.

Image Based Control: in image based control, the pose estimation is omitted, and the control law is directly expressed in the sensor space (image space).

The state of the art in the eld of visual servoing, reported in 3] and 8], shows that Image Based Control has been retained as an alternative t e c hnique to the Position Based Control approach. Generally, many authors consider that the Image Based Control approach is better of the two with respect to camera calibration, hand-eye calibration, robot modelling, scene and target modelling, and also with regard to the processing time required to compute the sensor signal. It is clear that the Image Based Control approach does not need precise calibration and modelling, because of the closed loop de ned in the sensor space. Much w o r k 1 , 6 , 7 , 9 , 12] has been done on the camera sensor and the 2D space.

The notion of Task Function introduced by Samson et al in 14], can be used to de ne a control law i n t h e sensor space. According to this concept, Martinet et al in 11] i n troduce the notion of the 3D visual sensor which delivers a 3D sensor signal by monocular vision at video rate. Recent progress in pose estimation, location and 3D modelling 4, 5 ] s h o ws that it is not unrealistic to introduce 3D visual information in a closed loop control. Using this assumption, control laws can be synthesised using this kind of information as we do directly with the camera sensor. In fact, little work 16] has been done using a 3D sensor signal. However, precise calibration and modelling are really useful only in the case where the task to achieve is expressed in Cartesian space. If 3D reference signals are learned in real conditions, as in the Image Based Approach, the same good results as in the 3D sensor space are obtained.

In the rst part of this paper, the experimental context for the comparison and particularly the scene and the sensor signal which are extracted from images, are presented. In the second and third part, the models of di erent interaction matrices are developed using both Image based and Position Based approaches. In the fourth and last part, results obtained with our experimental robotic platform are presented and discussed.

Experimental context

Description of the scene

Figure 1 represents the scene with a 3D object, composed of four characteristic points, and a camera mounted on the end e ector of the robot. Three homogeneous transformation matrices can be de ned:

M o is the homogeneous matrix between an absolute frame attached to the scene, and the object frame R o , M ct is the homogeneous transformation matrix between an absolute frame attached to the scene, and the sensor frame computed at each iteration R ct , M c is the homogeneous transformation matrix between an absolute frame attached to the scene, and the sensor frame desired at the equilibrium R c . The camera is embedded on the end e ector of a Cartesian robot with 6 d.o.f, and connected to the parallel vision system Windis. This system is dedicated to visual tracking and visual servoing applications.

Extraction of sensor signals and camera trajectory estimation

For the purposes of experimentation, a speci c vision algorithm based on the DeMenthon algorithm 5] is used. The low level image processing consists in the extraction of the barycenter of each illuminated point in the image space. Using the model of the object, four points from the list of detected points are chosen successively, and the pose of the object M p(t) in the sensor frame is computed. The best matching point in image space which corresponds to the best matching in Cartesian space is selected. So, at each iteration (twice video rate), the pose of the object in the sensor frame and four feature points in the image space are selected. From this information, the necessary sensor signals used in the di erent control laws are computed. For instance, the 3D coordinates of each c haracteristic point, or the pose of the camera M Ct in the absolute frame can be extracted with the following relation:

M Ct = M o :M ;1 p(t)
(1) In this relation, estimation of the matrix M o is necessary. This step is realized by a learning phase using all the whole real measurement process.

To estimate the trajectory of the camera during servoing, the use of joint measurement and the geometric model of the robot have been retained. In this condition, the pose of the robot basis in the absolute frame has also to be learned.

Image based visual servoing

Consider a 3D point M with the following coordinates (X Y Z) T in the sensor frame, and then de ne the coordinates s = ( u v) T = ( F u X Z F v Y Z ) T of the projection of the point M in image space, where F u and F v represent the focal length parameters of the camera. In this case, the image jacobian (or interaction matrix) L T s for the point feature can be established:

; Fu Z 0 u Z uv Fv ;(F u + u 2 Fu ) v Fu Fv 0 ; Fv Z v Z (F v + v 2 Fv )
; uv Fu ;u Fv Fu ! L T s links the variations of the sensor signal to the kinematic screw applied to the camera T c , through the relation ( _ u _ v) T = L T s T c . In our scene, a sensor signal S = ( u 0 v 0 u 1 v 1 u 2 v 2 u 3 v 3 ) T , corresponding to the projection of the four characteristic points P 0 , P 1 , P 2 , and P 3 , has to be considered. Then, the global image jacobian can be written as L T S = ( L s0 L s1 L s2 L s3 ) T . The control law uses the Task Function Approach 14] introduced at the end of the eighties, and can be de ned by the relation:

T c= ; L T + S (S ; S )
(2) In this relation, S represents the value of the sensor signals at the equilibrium situation, and the gain of the control law. For the term L T + S , t wo estimates are possible: the approximation of the value at the equilibrium situation L T + S=S , or the estimation L T + S(t) at each iteration (an estimate of the depth of every point i s needed).

Position based visual servoing

In this paper, two main models are proposed : the interaction matrix for both the 3D point feature and Pose feature, and a new modelling which p r e s e n ts the advantage that it suppresses the coupling between position control and orientation control.

First model

In previous papers 11] 10], the method of obtaining the corresponding interaction matrix for the 3D point feature and Pose feature was described.

For the 3D point feature s = ( P ), the corresponding interaction matrix is given by: L T s = ;I 3 A S (P)]

(3) where AS(P) represents the antisymmetric matrix associated with the vector P . Considering four characteristic points P 0 , P 1 , P 2 , and P 3 , the global interaction matrix is expressed by L T S = (L P0 L P1 L P2 L P3 ) T .

For the Pose feature, the sensor signal S = ( X T T ) T (dim 6) represents the position and the orientation of the object frame relative to the sensor frame. Then, the corresponding interaction matrix can be established as:

L T S = ;I 3 A S (X)] O 3 ;I 3 ]] (4)
Considering for example, the convention of roll ( ), pitch ( ) and yaw ( ) (RPY) angles to describe orientation, the previous relation bas to be rewritten using the matrix rtl de ned by: =

;1 rtl 0 @ _ _ _ 1 A = 0 @ 0 ;S C C 0 C S C 1 0 ;S 1 A 0 @ _ _ _ 1 A
In this case, the interaction matrix is expressed by: L T S = ;I 3 A S (X)] O 3 ; rtl ]] (5) In this model, the orientation is decoupled and an exponential decay of the rotation angles can be obtained, but this does not apply to the position of the end e ector.

New model

In this section, a new model for the pose parametrisation (position and the orientation) of the frame object in the sensor frame is presented. The main advantage of this approach is that camera translation control and orientation control are separated.

Considering the scene described by gure 1, without loss of generality the absolute frame can be chosen equivalent to the sensor frame at the equilibrium situation (R A = R c ). The pose parameters of the sensor frame can be expressed as a rigid transformation matrix

M(t) = h R(t) x(t) 0 1
i where R(t) represents the orientation part of the pose, and x(t) the position of the sensor frame expressed in the absolute frame. Using the exponential representation, R(t) is expressed by R(t) = exp(;AS( (t))) where (t) = k (t)k:u(t) is the orientation vector.

Deriving the expression of M(t), using V (t) a s t h e translation velocity expressed in the sensor frame and AS( ) as the antisymmetric matrix associated with the rotation velocity expressed in the sensor frame, the following relations can be obtained:

d dt x(t) = R(t) : V (t) d dt R(t) = R(t) : A S ( ) (6)
In order to transform the relations 6 in the state space formalism, a dimension 6 state vector X(t) = (x T (t) y T (t)) T (x T represents the transpose of x) w as chosen.

Developing the exponential representation of R(t) w i t h the Rodrigues formulae 13], y(t) i s d e n e d b y:

AS(y(t)) = 1 2 (R T (t) ; R(t)) = sin(k (t)k):AS(u(t)) and its expression is given by the relation:

y(t) = sin(k (t)k) k (t)k : (t) (7)
Then, the state equation of the system can be expressed:

d dt X(t) = B(X) : U (8)
where U = ( V T T ) T represents the the control vector, and B(X) = R(y) O 3 O 3 A(y) the control matrix with R(y) = exp(; asin(kyk) kyk :AS(y)) (asin represents the trigonometric function arcsinus) A(y) = ; 1 2 (trace(R(y)):I 3 ; R T (y)) O 3 and I 3 are the null and identity matrices respectively. Thus, the state equation of the system is linear with regard to the control vector U, and non-linear with regard to the state vector. Controllability of the system is obtained if the control matrix B(X) is full rank. In our case, this condition is always realized except in the singular case k k = 2 + k .

In the conditions used in all theoretical development (0 k k < 2 ), the inverse of the control matrix B(X) can be computed, and its expression is:

B ;1 (X) = R T (y) O 3 O 3 A ;1 (y) (9)
To control the system, a non-linear state feedback w h i c h linearises the closed loop system is given by: U = ;B ;1 (X):K:

X d dt X = ;K:X (10)

Comparison of the two approaches

Before addressing the comparison, it is necessary to number the control laws, as de ned in the following table:

Law Approach Features Gain When the image jacobian is evaluated at the equilibrium, index a is used, and if it is evaluated at each iteration, index a is replaced by index b.

Theoretical results

We n o w analyse the convergence and stability o f t h e control laws and then go on to discuss the problems which can be encountered when using a Pose estimation algorithm from image features.

Laws 1-a, 1-b, 2-a and 2-b Considering the task function e = LT + :(s;s ), and an exponential decay of this function, a necessary condition to ensure the convergence and stability of the control law i s g i v en by: LT + : L > 0.

Practically, except in rare cases, due to the complexity of the computation 2] this condition cannot be evaluated.

Near the equilibrium situation, the condition above c a n be veri ed, but no theoretical results are known. The robustness of this assumption under conditions far from equilibrium remains unproven. In this case, it is better to calculate the interaction matrix at each iteration than at equilibrium. Laws 3-a and 3-b Due to the structure of the interaction matrix, the condition LT + : L > 0 is always veri ed. Law 4 To control the system, a non-linear state feedback which linearises the closed loop system was chosen. In these conditions, to stabilise the system it is su cient t o c hoose the control gain matrix K as a diagonal matrix with positive v alues. The closed loop system behaves as a set of decoupled integrators, and each component of the state vector shows an exponential decrease.

Pose estimation To estimate the pose parameters for 3D objects by monocular vision, many methods are proposed in the literature. Some methods give closed form solutions of the inverse perspective problem addressed, the others uses iterative processes to reach the solution. The problem of unicity for the solution is often omitted, and the authors use spatio-temporal lters to extract the right solution. At present, the stability and the convergence towards the right solution (avoiding local minima) of pose measurement is not invariably demonstrated. However, some authors have addressed problems of this kind and some results are known. Similar problems were found when using the Image Based A p p r oach as presented by F. Chaumette in 2]. In our application, the use of the DeMenthon algorithm 5] and the choice of the best matching using a spatio-temporal lter was preferred. For the moment, no problems have been encountered, but this is not a theoretical proof. In this table, position is given in metres, and orientation (roll, pitch a n d y aw angles) in degrees.

Test 1 and Test 2 First, gures 3 and 4 present t h e camera frame trajectories in object frame obtained with all control laws. Certain control laws tend to follow a straight line between initial and nal positions and the trajectory of the others is a ected by the coupling between translation and rotation. The greatest deviation from the straight line is observed when using Law 1-b, due to the control being expressed only in the image space. In gures 5-8, the evolution of the projection of the four characteristic points in the image plane is presented. For each control law, the left plot (1/3) presents the results corresponding to Test 1, and the right plot (2/4) those corresponding to Test 2. It appears that the best behaviour is obtained when we compute the interaction matrix at each iteration (Laws 1b, 2-b and 3-b), except in Test 2 where Law 1-b uses high velocities.

Overall, the changes in translation and rotation velocities during all servoing tasks is the same (exponential decay). However, for the image based servoing tasks, we h a ve t wo phenomena. In Test 1, when using Law 1-b the computed velocities are lower than their equivalents for Law 1 -a . This is due to the approximation of the interaction matrix. In contrast, in Test 2, translation and rotation velocities are lower when using Law 1-a. These facts explain the deformation of the 2D trajectory and 3D trajectory (sensor trajectory). As regards the changes in the sensor signals used in the di erent control laws, an exponential decay c a n b e observed in all cases. Test 3 In the third test, the initial position is given by Position 3, and the nal one by Position 1. Figure 9 shows the camera frame trajectory during servoing, and the camera view from initial position (Position 3). In this test, we compare the behaviour of control laws 1-b, 3-b and 4. As we can see, control law 4 is stopped when the object is outside the camera eld. In this case, the servoing task cannot be performed properly.

In gure 10, the changes in the projection of the four characteristic points are presented. The best behaviour in image space seems to be with control law 3 -b . In control law 1-b, the coupling between rotation and translation velocities is important. This fact can explain the behaviour of the trajectory in the image plane.

Discussion

Many people are interested in visual servoing. Until now, Image Based visual servoing has principally been considered. In this paper, a 3D visual sensor elaborating 3D features at video rate (80ms) has been considered. Concerning the problem of convergence and stability, both approaches present problems. In Image Based Visual Servoing, the main problem is to be able to verify the stability condition along the trajectory followed by t h e sensor. One way to solve this problem may b e t o c hoose a particular sensor signal and parametrisation to ensure a particular structure of the interaction matrix. This property can enable the demonstration of stability a n d permit a decoupling between rotation and translation velocities. In Position Based Visual Servoing, with the proposed control laws, stability can be demonstrated, but another problem appears: the stability o f t h e Pose estimation algorithm.

The special characteristic of this kind of Position Based

Visual Servoing methods appears in the simplicity o f t h e formalism. The control law depends only on the desired and current situations of the observed object. Then, from one application to another, only the pose algorithm has to be modi ed.

The choice of the frame used to model the interaction between the sensor and the scene is very important. For example, in the non-linear control law, the sensor signal is expressed in the sensor frame at the equilibrium situation. Using this asssumption, the decoupling between translation and rotation velocities is then ensured. Another important problem is visual feature tracking along an image sequence to ensure matching of the measured feature. For this, three main approaches are possible: independent feature tracking, 2D model based tracking or 3D model based tracking. Due to lack o f information in perspective projection, when ambiguities appear in the image plane, the third method ensures the best tracking.

One question appears through the whole experimental test: how t o i n troduce a constraint i n to the control law to be sure that the object is always in the camera eld during servoing for both approaches.

These results are no more than preliminary. Next, it will be necessary to evaluate the robustness of the control law with regard to noise in pose estimation, modelling errors, and particularly to the hand-eye calibration error.

Figure 1 :

 1 Figure 1: Di erent frames used in modelling -3D Object

  Pose new K = 0.625 I 6

Figure 2 :

 2 Figure 2: Camera views for Positions 1 and 2 and 3

Figure 3 :

 3 Figure 3: Camera frame trajectories -Test 1

Figure 4 :

 4 Figure 4: Camera frame trajectories -Test 2

Figure 5 :Figure 6 :

 56 Figure5: Laws 1-a (1-2) and 1-b[START_REF] Chaumette | Potentiel problems of stability a n d convergence in image based and position-based visual servoing[END_REF][START_REF] Corke | Visual control of robot manipulators -A review[END_REF]

Figure 7 : 4 Figure 8 :

 748 Figure 7: Laws 3-a (1-2) and 3-b (3-4)

Figure 9 : 4 Figure 10 :

 9410 Figure 9: Camera frame trajectories Test 3


Philippe Martinet
email: philippe.martinet@lasmea.univ-bpclermont.fr

Christian Thibaud
email: christian.thibaud@lasmea.univ-bpclermont.fr

C Thibaud Lasmea-Gravir

Automatic Guided Vehicles: Robust Controller Design in Image Space

Keywords: visual servoing, robust control, mobile robot, vehicles, modeling, vision

We have been interested in Automatic Guided Vehicles (AGV) for several years. In this paper, we synthesize controllers for AGV applications using monocular vision. In particular, we are interested in road following and direction change tasks, and in analyzing the influence of extrinsic camera parameter perturbations on vehicle behavior. We use the bicycle as the kinematic vehicle model, and we choose the position of the white band on the road as the sensor signal. We define an interaction between the camera, which is mounted inside the vehicle, and the white band detected in the image space. Using this kind of interaction, we present how to use a pole assignment technique to solve the servoing task. We show the simulation and experimental results (1/10 scale demonstrator) with and without perturbations. We then investigate the use of a robust controller to slow down the effect of perturbations on the behavior of the vehicle.

Introduction

In the realm of intelligent systems for highways, development of AGV is necessary to enable vehicles to drive automatically along the road [START_REF] Inrets | La route automatisée-réflexions sur un mode transport futur[END_REF][START_REF] Path | California path-1997 annual report[END_REF]. In fact, the requirement is for a controller that can maintain the position and the orientation of the vehicle with respect to the center of the road and/or apply changes of direction. The problem of vehicle control using a camera has been given considerable attention by many authors [START_REF] Dickmanns | Autonomous high speed road vehicle guidance by computer[END_REF][START_REF] Kehtarnavaz | Visual control for an autonoumous vehicle (BART)-the vehicle following problem[END_REF][START_REF] Wallace | Progress in robot road following[END_REF][START_REF] Waxman | A visual navigation system for autonomous land vehicles[END_REF]. The work described in [START_REF] Jurie | A vision based control approach to high speed automatic vehicle guidance[END_REF][START_REF] Jurie | High speed automatic vehicle guidance based on vision[END_REF][START_REF] Jurie | High-speed vehicle guidance based on vision[END_REF] is among the most notable in lateral control using monocular vision. It consists of the reconstruction of the road using the 2D visual information extracted from the image processing system [START_REF] Chapuis | Realtime vehicle trajectory supervision on the highway[END_REF].

In recent years, the integration of computer vision in robotics has steadily progressed, from the early "look and move" systems, to current systems in which visual feedback is incorporated directly into the control loop. These techniques of vision based control are used to control holonomic robots in different domains [START_REF] Feddema | Vision-guided servoing with feature-based trajectory generation[END_REF][START_REF] Khadraoui | Visual servoing in robotics scheme using a camera/laserstripe sensor[END_REF][START_REF] Papanikolopoulos | Vision and control techniques for robotic visual tracking[END_REF][START_REF] Papanikolopoulos | Visual tracking of a moving target by a camera mounted on a robot: A combination of control and vision[END_REF].

The principle of this approach is based on the task function approach [START_REF] Samson | Robot Control: The task function approach[END_REF], and many people have developed this concept applied to visual sensors [START_REF] Chaumette | La relation vision commande: théorie et application à des tâches robotiques[END_REF][START_REF] Espiau | A new approach to visual servoing in robotics[END_REF][START_REF] Hutchinson | A tutorial on visual servo control[END_REF]. There are still a few applications in mobile robots using this kind of approach. The main difficulty is due to the presence of nonholonomic mechanical connections which limit robot movements [START_REF] Pissard-Gibollet | Asservissement visuel appliqué à un robot mobile: État de l'art et modélisation cinématique[END_REF][START_REF] Tsakiris | Applying visual servoing techniques to control nonholonomic mobile robot[END_REF].

We have proposed a new technique with a visual servoing approach, in which control incorporates the visual feedback directly [START_REF] Khadraoui | Linear control of high speed vehicle in image space[END_REF][START_REF] Martinet | Controller synthesis applied to automatic guided vehicle[END_REF]. In other words, this is specified in terms of regulation in the image frame of the camera. Our application involves controlling the lateral road position of a vehicle following the motorway white line. A complete 2D model of both the vehicle and the scene is then essential. It takes into account the visual features of the scene and the modeling of the vehicle.

The main purpose of this study is the development of a new lateral control algorithm. We propose a new control model, based on state space representation, where the elements of the state vector are represented by the parameters of the scene, extracted by vision. Then, we use a robust control approach to improve the behavior of the vehicle when we introduce perturbations in the closed loop to accommodate for mounting inaccuracies, camera calibration errors and driving up an incline.

These approaches were tested with a 1/10 scale demonstrator. It is composed of a cartesian robot with 6 degrees of freedom which emulates the vehicle behavior and the WINDIS parallel vision system. The road, built to a 1/10 scale, comprises three white lines.

Modeling Aspect

Before synthesizing the control laws, it is necessary to obtain models both of the vehicle and of the interaction between the sensor and the environment. We indicate only the main results of modeling aspect presented in [START_REF] Martinet | Controller synthesis applied to automatic guided vehicle[END_REF]

Modeling the Vehicle

It is useful to approximate the kinematics of the steering mechanism by assuming that the two front wheels turn slightly differentially. Then, the instantaneous center of rotation can be determined purely by kinematic means. This amounts to assuming that the steering mechanism is the same as that of a bicycle. Let the angular velocity vector directed along the z axis be called ψ and the linear one directed along the x axis called ẋ. In Fig. 1(b), we show a small portion of a circle S representing the trajectory to be followed by the vehicle. We assume that it moves with small displacements between the initial curvilinear abscissa S 0 and the final one S f such that:

1 r = lim s→0 ψ S = dψ d S = dψ dt dt d S (2)
where ψ represents the orientation of the vehicle. The time derivative of S includes the longitudinal and lateral velocities along the y and x axes respectively. In fact, the rotation rate is obtained as:

ψ = tan δ L ẋ2 + ẏ2 (3)
Lateral position equation: In order to construct this equation, we treat the translational motion assuming that the vehicle moves with small displacements between t and t + t. In the case of a uniform movement during a lapse of time t, the vehicle moves through distance d = V t taking V as a constant longitudinal velocity (see Fig. 2). We express: In these expressions, C and S represent the trigonometric functions cosine and sine. The approximation to small angles gives us the relation between the differential of the lateral coordinate x and the lateral deviation ψ with respect to δ, expressed as follows:

     Sψ = -lim t→0 x t+ t -x t V t = - ẋ V Cψ = ẏ V (4)
   ẋ = -V ψ ψ = V L δ (5)

Modeling the Scene

This section shows how to write the equation of the projected line in the image plane, using perspective projection. The scene consists of a 3D line, and its projected image is represented by a 2D line. Figure 3 shows the frames used in order to establish this relation. We use: r h the camera height r α the inclination angle of the camera r ψ the orientation of the vehicle Any 3D point p i = (x i , y i , z i , 1) T related to the workspace can be represented by its projection in the image frame p p = (x p , y p , z p ) T by the relation:

r R i = (O, x i , y i , z i )
p p = Mp i (6)
The matrix M represents the homogeneous calibration matrix of the camera expressed in the frame R i .

Its expression is the following:

M = P c C u C a R -1 2 R -1 1 T -1 (7)
where: The expressions of the different matrices used are given as follows:

P c C u =    f x 0 0 0 0 f y 0 0 0 0 1 0   ,Ca =      1 0 0 0 0 0 -1 0 0 1 0 0 0 0 0 0      T =      1 0 0 x 0 1 0 0 0 0 1 h 0 0 0 1      , R 1 =      Cψ -Sψ 0 0 Sψ Cψ 0 0 0 0 1 0 0 0 0 1      R 2 =      1 0 0 0 0 Cα -Sα 0 0 Sα Cα 0 0 0 0 1     
We note that the second translation and the third rotation are considered as null, and that x (lateral position) and ψ (orientation) are the system variables.

Developing relation 7, we obtain the following expression of M:

    f x Cψ f x Sψ 0 f x xCψ -f y SαSψ f y SαCψ -f y Cα -f y x SαSψ + f y hCα -CαSψ CαCψ Sα -xCαSψ + hSα    
The pixel coordinates P = (X =

       X = f x y i Sψ + xCψ y i CαCψ -xCαSψ + hSα Y = f y -y i SαCψ -x SαSψ + hCα y i CαCψ -xCαSψ + hSα (8)
Eliminating y i from the Eqs. (8), we obtain:

X = f x f y xCα -hSψ Sα hCψ Y + f x x Sα + hSψCα hCψ (9)
Considering that α and ψ are small (<10 deg) and if we neglect the product term αψ, the second order Taylor approximation gives us a new expression of X :

X = f x x f y h Y + f x xα h + ψ + O(ψ 2 ) + O(α 2 ) (10)
The equation of the line expressed in the image frame is given by the following relation:

X = aY + b (11)
where (a, b) are the line parameters expressed by:

       a = f x x f y h = µ 1 x b = f x αx h + ψ = µ 2 x + µ 3 ψ (12)
We express the lateral position x and the orientation of the vehicle ψ in order to define an interaction relation between the 3D position of the vehicle and the 2D parameters of the line in the image plane. We have:

       ẋ = h f y f x ȧ = ξ 1 ȧ ψ = - α f y f x ȧ + 1 f x ḃ = ξ 2 ȧ + ξ 3 ḃ (13)
with: f x = 1300 pu, f y = 1911 pu, V = 20 km/ h, L = 0.3 m and h = 0.12 m (in our 1/10 scale demonstrator).

Pole Assignment Approach

In this section, we present the application of the pole assignment technique when the state model is expressed directly in the sensor space. In our case, the sensor space is the image plane.

The controller design is based on the kinematic model of the vehicle. We use the (a, b) parameters of the 2D line in the image plane as the state vector. We steer the vehicle by acting on wheel angle δ. We choose b or a as the output parameter of the system and use the results of the vehicle and scene modelings to obtain the following equation:

-V ψ = ξ 1 ȧ (V /L)δ = ξ 2 ȧ + ξ 3 ḃ (14)
The state vector, denoted by X = (a, b) T , is equal to the sensor signal vector in the state space representation. Developing, we have the following state model of the system:

Ẋ = AX + BU y = C X (15)
with U = δ the wheel angle, y the output of the system, and

A =   -V ξ 2 ξ 1 -V ξ 3 ξ 1 V ξ 2 2 ξ 1 ξ 3 V ξ 2 ξ 1   , B = 0 V Lξ 3 C = [0, 1] or = [1, 0]
depending on the output to be controlled. The visual servoing scheme is then as shown in Fig. 4. Finally, we can express the control law by the following relation:

U = δ = -k 1 a -k 2 b + ky * ( 16
)
where K = [k 1 , k 2 ] and k are the gains of the control law obtained by identifying the system to a second order system characterized by ω 0 and ξ . y * represents the input of the control scheme. For the first step, we chose parameter b as the output of the system and analysed the effects of perturbation. For the second, we replaced parameter b by parameter a.

Choice of b as the Output of the System

Controller Design.

Here, we present the application of the pole assignment technique when the state model is expressed directly in the sensor space. We choose b as the output parameter of the system. So, we can write:

Ẋ = AX + Bδ b = C X (17)
and, we can express the control law by the following relation:

δ = -k 1 a -k 2 b + kb * (18)
where K = [k 1 , k 2 ] and k are the gains of the control law obtained by identifying the system to a second order system characterized by ω 0 and ξ . For these control gains, we obtain:

               k 1 = Lω 0 (2ξ 2 ξ V -ξ 1 ω 0 ) V 2 k 2 = 2Lω 0 ξ 3 ξ V k = Lω 2 0 ξ 1 ξ 3 V 2 ξ 2 (19)
We note that, as expressed by these relations, the higher the velocity V , the smaller are the gains.

Simulation and Experimental Results.

To validate this control law, we use a simulator developed with Matlab. Figure 5 shows the visual servoing scheme used in this simulator.

We use the kinematic model of the vehicle to simulate the behavior of the vehicle, and the perspective projection relation to obtain the sensor signal s = (a, b) T . The first results (see Fig. 6) illustrate the output behavior of the system corresponding to an input value b * = 100 pixels. We take into account a data flow latency (three sample periods) in all simulation tests. This was identified on our experimental site. We chose ω 0 = 2rd/s and ξ = 0.9 in order to fix the behavior of the system. In this case, we have no perturbations (α is fixed at -7 degrees).

The second set of results takes into account a perturbed angle α (from -6 to -10 degrees). We obtain the following response in b: Fig. 7 represents the simulation results, and Fig. 8 shows the experimental results obtained with our 1/10 scale demonstrator presented in Section 6.

In both results, we can see a steady state error in b, when we introduce the perturbations, and some oscillations appear when angle α increases. In this case, ξ slows down from 0.9 (α = -7) to 0.6 (α = -10) and increases the overtaking, but the main contribution to the oscillations is due to the data flow latency. In the next section, we express the steady state error in order to analyze the simulation and experimental results.

Closed Loop Steady State Error Estimation.

Here we analyse the behavior of the vehicle when the extrinsic parameters of the camera are perturbed. In this case, Eqs. ( 13) show us that only ξ 1 and ξ 2 are affected by perturbations of this kind.

Considering the state Eqs. ( 17) and taking into account parameter perturbations, we have:

A =   -V (ξ 2 + ξ 2 ) ξ 1 + ξ 1 -V ξ 3 ξ 1 + ξ 1 V (ξ 2 + ξ 2 ) 2 (ξ 1 + ξ 1 )ξ 3 V (ξ 2 + ξ 2 ) ξ 1 + ξ 1   Figure 9
represents the general visual servoing scheme, using the pole assignment approach.

In this case, we can establish the general expression of the steady state error ∞ by using the Laplace p transform by: Hence we obtain:

( p) = b * ( p) -b( p) (20) with: b( p) = C[ pI -(A -B K )] -1 Bkb * ( p) (21)
∞ = [1 + C(A -B K ) -1 Bk] b * ∞ (22)
After some developments and approximations, we can write the final relation of the steady state error as follows:

∞ = 1 - 1 + ξ 2 ξ 2 1 + 2V ξξ 2 ω 0 ξ 1 ξ 2 ξ 2 b * ∞ (23)
The steady state error becomes null, if the following expression is true:

ξ 2 ξ 2 = α α = 0 (24)
We observe that, in the absence of perturbations in the α parameter, we have no steady state error. When α is different from the reference value, we obtain an error which confirms all the simulation results.

In this experiment, we can verify the values of steady state error for different values of the α parameter (see Table 1).

The difference between reference and experimental values can be explained by the imprecise calibration of the interaction between the scene and the camera.

In the next section, we show the way to reduce this steady state error.

Pole Assignment with Integrator.

In this section, we introduce an integrator into the control law in order to eliminate the steady state error in case of perturbations. The visual servoing scheme is represented in Fig. 10. In this case, we can express the control law by the relation:

δ = -k 1 a -k 2 b -K i (b * -b) dt (25)
where k 1 , k 2 and K i are the gains of the control law obtained by identifying the system to a third order system characterized by the following characteristic equation:

( p 2 + 2ξω 0 p + ω 2 0 )( p + ξω 0 ).
The control law gains are given by:

                           k 1 = - Lω 0 (2ω 0 ξ 1 ξ 2 -3ξ 2 ξ V + ω 0 ξ 1 ) V 2 + Lω 3 0 ξ 2 1 ξ V 3 ξ 2 k 2 = 3Lω 0 ξ 3 ξ V K i = - Lω 3 0 ξ 1 ξ 3 ξ V 2 ξ 2 (26)
In the first simulation, we consider no perturbations. Figure 11 illustrates the fact that the response time is correct.

Secondly, we introduce some perturbations in the α angle (from -6 to -10 degrees). Figure 12 shows the simulation results and Fig. 13 shows the experimental ones.

In fact, no steady state error persists during servoing, but some oscillations and problems of stability appear when α is very different from the reference value.

We therefore decided to analyse the same approach using the other parameter.

Choice of a as the Output of the System

In this part, we choose a as the output parameter of the system. We can then write:

Ẋ = AX + Bδ a = C X (27)
and we can express the control law by the following relation:

δ = -k 1 a -k 2 b + ka * ( 28
)
where K = [k 1 , k 2 ] and k are the gains of the control law, expressed by the following relations: We note that, as we observed with parameter b, the higher the velocity V , the smaller are the gains.

               k 1 = Lω 0 (2V ξ 2 ξ -ω 0 ξ 1 ) V 2 k 2 = 2Lω 0 ξ 3 ξ V k = - Lω 2 0 ξ 1 V 2 (29)
We tested this approach as we did for parameter b.

When no static perturbations occurred, the output behavior corresponds to the desired output (a * = 0.43) in both simulation (Fig. 14) and experimental (Fig. 15 ) cases. If we introduce this kind of perturbation into the α parameter, steady state error and oscillations appear on the output of the system.

As before, we can express the steady state error in the following form:

∞ = [1 + C(A -BK) -1 Bk] a * ∞ (30)
and after some developments, we obtain:

∞ = 1 - 1 1 + 2V ξξ 2 ω 0 ξ 1 ξ 2 ξ 2 a * ∞ (31)
The steady state error becomes null, if the following expression is verified:

ξ 2 ξ 2 = α α = 0 ( 32
)
We observe that, in the absence of perturbations to the α parameter, we have no steady state error.

We therefore introduce an integrator into the control law in order to eliminate this steady state error in case of perturbations.

The control law is expressed by the relation:

δ = -k 1 a -k 2 b -K i (a * -a) dt ( 33
)
where k 1 , k 2 and K i are the gains of the control law:

               k 1 = 3 Lω 0 ξ 2 ξ V - Lω 2 0 ξ 1 V 2 (2ξ 2 + 1) k 2 = 3Lω 0 ξ 3 ξ V K i = Lω 3 0 ξξ 1 V 2 (34)
We tested the output behavior of the system in the presence of perturbations to α angle (from -5 to -9 degrees). Figure 16 illustrates the simulation results and Fig. 17 the experimental ones.

As we can see, no steady state error persists during servoing, but some oscillations and problems of stability appear when α is far from the reference value. These results are close to those encountered when using parameter b. We therefore conducted investigations into robust control approaches, particularly into H ∞ space control.

Robust Control Approach

Due to the the problem of oscillations and stability encountered when using a pole assignment approach, we decide to investigate a robust control approach. We chose the approach developed in H ∞ space at the beginning of the eighties [START_REF] Zames | Feedback, minimax sensitivity, and optimal robustness[END_REF][START_REF] Kimura | Robust stabilization for a class of transfer fonction[END_REF][START_REF] Dorato | A modification of the classical nevanlinnapick interpolation algorithm with applications to robust stabilization[END_REF][START_REF] Doyle | State space solutions to standard H 2 and H ∞ control problems[END_REF], concerning controller design with plant uncertainty modeled as unstructured additive perturbations in the frequency domain.

Generality Concerning H ∞ Space

Here, we present the application of the robust control technique, particularly in H ∞ space [START_REF] Dorato | Robust Control for Unstructured Perturbations-An Introduction[END_REF].

The servoing scheme is presented in the Fig. 18.

We consider an additive perturbation in the frequency domain:

F( p) = F 0 ( p) + F 0 ( p) ( 35
)
where F 0 ( p) represents the nominal transfer function. The aim is to determine a single robust controller c( p) which ensures the stability of the closed loop system. Then, we can write 1 + F( p) • c( p) as: p) . To ensure the stability of the close loop system, we must verify:

[1 + F 0 ( p) • c( p)] • 1 + c( p) 1 + F 0 ( p) • c( p) • F 0 ( p) = [1 + F 0 ( p) • ( p)] • [1 + q( p) • F 0 ( p)] (36) with q( p) = c( p) 1+F 0 ( p)•c(
|1 + F( jω) • c( jω)| = 0 ∀ω (37)
We define a transfer function r ( jω) which bounds the variations of F 0 ( jω) as:

     | F 0 ( jω)| ≤ |r( jω)| |r( jω)| F 0 ( jω) ≤ 1 ∀ω (38)
In this case, if c( p) stabilizes the nominal plant F 0 ( p) we can express the robust stability condition as [START_REF] Kimura | Robust stabilization for a class of transfer fonction[END_REF]:

q( p)r ( p) ∞ < 1 (39)
In these conditions, the robust controller can be expressed by:

c( p) = q( p) 1 -F 0 ( p)q( p) ( 40
)
General Case. In this part we summarize the different steps to follow to synthesize a robust controller. The function r ( p) bounds the variations of F 0 ( p). We construct the proper stable function:

F 0 ( p) = B( p) • F 0 ( p) ( 41
)
where B( p) = ( p i -p pi + p ) represents the Blaschke product of unstable poles p i (Re( p i ) > 0) of F 0 ( p).

For convenience, we define q( p) as:

q( p) = B( p) • q( p) (42)
and then:

F 0 ( p) • q( p) = F 0 ( p) • q( p) (43)
We have to choose a minimal phase function r m ( p) as:

|r m ( jω)| = |r( jω)| (44)
In this case, we can express

r ( p) = b( p) • r m ( p), where b( p) is an inner function (|b( jω)| = 1, ∀ω).
The robust condition of stability can be rewritten as:

u( p) ∞ < 1 with u( p) = q( p) • r m ( p) ( 45
)
Using relation 43, and since the function 1 -F 0 ( p) • q( p) has the zeros at the unstable poles α i of F 0 ( p), we can express the first interpolation conditions with:

q(α i ) = 1 F 0 (α i ) ∀i = 1, . . . , l (46)
Since q( p) and r m ( p) are H ∞ functions, the function u( p) must be an SBR function (Strongly Bounded Real), and the conditions of interpolation can be written as:

u(α i ) = q(α i ) • r m (α i ) = r m (α i ) F 0 (α i ) = β i ( 47
)
(β i represents an interpolation point). So the solution to the problem of robust stabilization of an unstable system [START_REF] Kimura | Robust stabilization for a class of transfer fonction[END_REF] lies in finding an SBR function u( p) which interpolates to the points u(α i ). This problem is called the Nevanlinna-Pick interpolation problem. [START_REF] Dorato | A modification of the classical nevanlinnapick interpolation algorithm with applications to robust stabilization[END_REF] have proposed an iterative solution of this problem based on the interpolation theory of Youla and Saito [START_REF] Youla | Interpolation with positive-real functions[END_REF]. When the relative degree of the function r m ( p) is greater than 0, we must append one or more supplementary interpolation conditions near infinity.

Case of a Plant With Two Poles at the Origin.

Previous work [START_REF] Kimura | Robust stabilization for a class of transfer fonction[END_REF][START_REF] Dorato | Robust Control for Unstructured Perturbations-An Introduction[END_REF][START_REF] Byrne | Robust lateral control of highway vehicles[END_REF][START_REF] Byrne | Experimental results in robust lateral control of highway vehicles[END_REF] has shown how to consider the case of a plant with integrators. We can define:

r ( p) = r m ( p) p 2 (48)
where r m ( p) is a minimal phase function and:

F 0 ( p) = p 2 • B( p) • F 0 ( p) q( p) = q( p) p 2 • B( p) (49)
Using relation 43, we can write the following conditions of interpolation:

       q(α i ) = 1 F 0 (α i ) ∀i = 1, . . . , l q(0) = 1 F 0 (0) 2 poles at the origin (50)
To ensure that c( p) is a robust controller, the function u( p) = r m ( p) • q( p) must be an SBR function which satisfies the interpolation conditions at the unstable poles of the function F 0 ( p) and also at the origin with the relations:

       u(α i ) = r m (α i ) F 0 (α i ) ∀i = 1, . . . , l u(0) = r m (0) F 0 (0) 2 poles at the origin (51)
In these conditions, the function q( p) can be expressed by:

q( p) = p 2 • B( p) • u( p) r m ( p) (52)

Controller Design Using Parameter b

Previous results have been presented in (Martinet et al., 1998a, b).

Considering parameter b as the output of the system, we define:

           F 1 ( p) = b δ = V 2 ξ 2 + pξ 1 V ξ 1 p 2 Lξ 3 F 1 ( p) F 1 ( p) = | α α | + | h h | 1 + ξ 1 V •ξ 2 • p (53)
Using the following expression of r ( p):

r ( p) = sup ω F 1 ( jω) F 1 ( jω) F 1 ( p) ( 54
)
and looking at Fig. 19, we can consider r m ( p) as:

r m ( p) = K 1 • p 2 • F 1 ( p) with K 1 = 0.82 (55)
To determine the value of K 1 , we have to plot the quantity | F 1 ( jω) F 1 ( jω) | considering the following perturbations:

α α = 57% and h h = 25%. Figure 19. Frequency response of | F 1 ( jω) F 1 ( jω) |.
Since F 1 ( p) has no unstable pole, the function B( p) = 1, and we have to choose u( p) as an SBR function with a relative degree of 1 (because of the expression of r m ( p)).

We choose the following expression of u( p):

u( p) = K 1 1 + τ • p (56)
to satisfy the conditions of interpolation:

   u(0) = r m (0) F 1 (0) = K 1 at the origin u(∞) = 0 (57)
We deduce the expression of the function q( p):

q( p) = p 2 • K 1 (1 + τ • p) • K 1 • p 2 • F 1 ( p) = (ξ 1 p 2 Lξ 3 ) (1 + τ • p) • (V 2 ξ 2 + pξ 1 V ) (58)
and developing, we obtain the robust controller c( p):

c( p) = 1 τ • p • F 1 ( p) = ξ 1 pLξ 3 τ • (V 2 ξ 2 + pξ 1 V ) (59)

Controller Design Using Parameter a

Considering parameter a as the output of the system, we define:

       F 2 ( p) = a δ = - V 2 ξ 1 Lp 2 F 2 ( p) F 2 ( p) = h h (60)
As previously, we use the following expression of r ( p):

r ( p) = sup ω F 2 ( jω) F 2 ( jω) F 2 ( p) (61)
and looking at the expression of F 2 ( p), we can consider r m ( p) as:

r m ( p) = K 2 • p 2 • F 2 ( p) with K 2 = 0.25 (62)
Since F 2 ( p) has no unstable pole, we have to choose u( p) as an SBR function with a relative degree of 2 (because of the expression of r m ( p)).

We choose the following expression of u( p):

u( p) = K 2 (1 + τ • p) 2 (63)
and the conditions of interpolation are the following:

   u(0) = r m (0) F 2 (0) = K 2 at the origin u(∞) = 0 (64)
We deduce the expression of the function q( p):

q( p) = p 2 • K 2 (1 + τ • p) 2 • K 2 • p 2 • F 2 ( p) = - ξ 1 Lp 2 (1 + τ • p) 2 • V 2 (65)
and developing, we obtain the robust controller c( p):

c( p) = 1 τ • p • (2 + τ • p) • F 2 ( p) = - ξ 1 Lp τ • (2 + τ • p) • V 2 (66)

Simulation and Experimental Results

As for the pole assignment technique, we have developed a simulator in matlab. We introduce perturbations to angle α (from α = -3 to α = -11) during simulation.

Figures 20 and21 show the simulation and experimental results of a robust control approach using b parameter as the output of the system (b * = 100 pixels). In these experiments we choose τ = 0.67. There is no steady state error during servoing and the robustness is much improved.

As a second step, we use the parameter a of the line as the output of the system, to synthesize a new robust controller using the H ∞ technique. In these experiments we choose τ = 0.5.

The simulation and experimental results are presented in Figs. 22 and23. The output behavior of the system corresponding to a reference input value a * = 0.43 is illustrated. As we can see, there is no steady state error in the output response and the output behavior remains unchanged when we introduce perturbations to α angle. So we can conclude that both theorical and experimental results tend to select parameter a as the output of the system.

In the next section, we discuss 3D lateral position behavior during servoing and we analyze the effect of camera height perturbation when using the previous robust controller.

Discussion

As we have seen in the previous section, it is better to choose parameter a of the 2D line as the output of the system. So, in the following we develop only the discussion concerning this choice. We first analyse the lateral position behavior of the vehicle and the effect of camera height perturbation. We conclude the discussion by considering the coupling of perturbations.

Lateral Position Behavior

In this part, we present the lateral position behavior of the vehicle (simulated on our 1/10 scale demonstrator). We present successively the results of: r pole assignment with integrator (Fig. 24) r the robust control approach (Fig. 25) when using the a parameter of the 2D line as the output of the system.

If we look at these figures, we can compare the behavior of the lateral position of the vehicle. When using the pole assignment technique, the lateral position of the vehicle is sensitive to perturbations. Oscillations and divergence occur when angle α is far from the reference value. On the other hand, the robust controller is very efficient and the robustness is greatly improved. We think that the weak variations of the lateral position observed on the curves may have been produced by small perturbations to camera height (see Eq. ( 12)) during the experiments (imprecise calibration). We conclude that behavior is more efficient and stable when using a robust controller.

Camera Height Perturbation

To clarify and analyze the sensitivity of the control laws on perturbations, we decided to study the effect of camera height perturbation. We fixed the variations of camera height at 25% of the reference value (0.12 m) (Fig. 26).

Figure 27 presents the lateral position behavior when using both approaches.

We observe a lateral deviation of the vehicle in both approaches. We can verify these results by looking at relation 12, where the lateral position of the vehicle x is directly linked to parameter a through the camera height parameter. Even if in both cases a lateral deviation is present, the robust controller is smoother and induces better behavior of the linkage between the vision aspect and the control aspect.

As in a real scene, it is unrealistic to think that perturbations will occur separately. So we decided to study the effect of coupled perturbations.

Coupling Perturbations

In the first test, we introduced perturbations into camera height (25%) (Fig. 28) and camera inclination angle (±1 and ±2 degrees) (Fig. 29). Using the parameter a as the output of the system, we compared the pole assignment and robust control approaches. Figure 30 shows the output behavior of the system (a parameter) and Fig. 31 presents the lateral position behavior of the vehicle. As shown previously, robust control minimizes the effect of camera inclination angle perturbation, but even if the other perturbation is also minimized, the effect on the 3D lateral position remains considerable.

With these results, we definitively conclude that the robust control approach is better than the pole assignment approach.

In the second test, we append perturbation on camera roll angle (sinusoid of ±2 degrees) (Fig. 32).

Figure 33 presents the evolution of the output system. As we can see the robust controller is more efficient, and we observe also that the effect on lateral position behavior is better when using this kind of controller (see Fig. 34). But the simplified model is not sufficient to take all of these perturbations into account.

In the third test, we use sinusoid functions to inject perturbation into extrinsic camera parameters: r camera roll angle (sinusoid of ±2 degrees) (Fig. 35), r camera inclination angle (sinusoid of ±1 degree) (Fig. 36), r camera height (sinusoid of ±10 mm ) (Fig. 37).

Figure 38 presents the lateral position behavior of the vehicle and Fig. 39 the output behavior of the system.

Even if the effect of the roll angle perturbation is attenuated, there is an offset which appears on the output of the system and on the lateral position of the vehicle.

As regards these tests, we conclude that these approaches are subject to two limitations. The model of the interaction between the sensor and the scene does not take roll angle into account, and there is a problem in the presence of camera height perturbation.

The Path to Implementation

Until now, we have not had a real demonstrator. So, these approaches were tested with a 1/10 scale demonstrator. It is composed of a cartesian robot with 6 degrees of freedom (built by the firm AFMA Robot) and the WINDIS parallel vision system [START_REF] Martinet | Parallel architecture for visual servoing applications[END_REF][START_REF] Rives | A versatile parallel architecture for visual servoing applications[END_REF].

This whole platform (see Fig. 40) is controlled by a VME system, and can be programmed in C language under the V×Works real time operating system. The CCD camera is embedded on the end effector of the cartesian robot and is connected to the WINDIS vision system. In this servoing scheme the position of the different parts of the controller changes with the approach under consideration.

The road (see Fig. 41), built to a 1/10 scale, comprises three white lines. For each level of this vision system, we have introduced parallelism allowing us to reach video rate for most of the application tasks. The vision system computes the (a, b) parameters of the projected line in the image plane at video rate (25 Hz). In this implementation, we have identified a data flow latency of three sample periods. Now, we are working on the conception of a real demonstrator with the lateral and longitudinal control capabilities. We think that the main difficulties to path to real implementation should be the continuous extraction of visual informations in real environment, and the effectivness of the approaches described above.

Conclusion and Future Work

Controllers based on a visual servoing approach have been developed in this paper. We designed a controller with a pole assignment technique directly in the image space. After modeling the vehicle and the scene, we obtained equations which can be used to write the state model of the system. Visual servoing is performed well when there are no perturbations. When perturbations occur, a steady state error and oscillations appear. By introducing an integrator into the visual servoing scheme, we suppress the steady state error but amplify the oscillation problem.

We then investigated a robust control approach. The choice of b as the output parameter of the system does not permit the control of the lateral position of the vehicle precisely when the perturbations appear, but ensures control of heading. The choice of parameter a as the output of the system, to synthesize a new robust controller, seems to be sufficient when we have perturbations to α angle and camera height.

In the future, we will investigate a controller which can take into account a combination of perturbations to α angle, camera height and camera roll angle. For this purpose, we shall require improved models both of the scene and of the vehicle. The robust control approach is well adapted in this case, because this approach is efficient when we use more complex models. So an extension of this work using dynamic modeling can be considered.

We think that experimentation on a real vehicle will be necessary to validate all of the results presented in this paper.

  Orientation equation: Using the bicycle model approximation (see Fig.1(a)), the steering angle δ and the radius of curvature r are related to the wheel base L by

Figure 1 .

 1 Figure 1. Bicycle model.

Figure 2 .

 2 Figure 2. Kinematic modeling of the vehicle.

Figure 3 .

 3 Figure 3. Perspective projection of a 3D line.

  as the frame attached to the 3D line r R s = (O, x s , y s , z s ) as the sensor frame fixed to the camera We take into account:

r

  P c C u C a translates p s = (x s , y s , z s ) T in p p . P c C u takes into account the intrinsic parameters of the camera ( f x = f e x , f y = f e y , f the focal length, e x , e y the dimensions of the pixel), and C a realizes an exchange coordinates frame. r T , R 1 and R 2 characterize the extrinsic parameters of the camera. T takes into account the two translations of the camera: the height h and the lateral position x. R 1 and R 2 represent the lateral orientation ψ and the inclination α of the camera respectively.

  T associated with each point of the 3D line (with x i = z i = 0), are expressed by:

Figure 4 .

 4 Figure 4. Visual servoing scheme with a pole assignment.

Figure 5 .

 5 Figure 5. Visual servoing scheme of the simulator.

Figure 6 .

 6 Figure 6. b without perturbations (α = -7 degrees) (simulation results).

Figure 7

 7 Figure 7. b output behavior (simulation results).

Figure 8

 8 Figure 8. b output behavior (experimental results).

Figure 9 .

 9 Figure 9. Steady state error.

Figure 10 .

 10 Figure 10. Visual servoing scheme with integrator.

Figure 11

 11 Figure 11. b without perturbations (α = -7) (simulation results).

Figure 12

 12 Figure 12. b output behavior (simulation results).

Figure 13

 13 Figure 13. b output behavior (experimental results).

Figure 14

 14 Figure 14. a with perturbations (α = -6 to -10) (simulation results).

Figure 15

 15 Figure 15. a with perturbations (α = -6 to -10) (experimental results).

Figure 16

 16 Figure 16. a with perturbations (α = -5 to -9) (simulation results).

Figure 17

 17 Figure 17. a with perturbations (α = -5 to -9) (experimental results).

Figure 18 .

 18 Figure 18. Servoing scheme in H ∞ space.

Figure 20

 20 Figure 20. b output behavior (α from -3 to -11 degrees) (simulation results).

Figure 21

 21 Figure 21. b output behavior (α from -3 to -11 degrees) (experimental results).

Figure 22

 22 Figure 22. a output behavior (α from -2 to -9 degrees) (simulation results).

Figure 23

 23 Figure 23. a output behavior (α from -2 to -9 degrees) (experimental results).

Figure 24 .

 24 Figure 24. Lateral position behavior (pole assignment) (experimental results).

Figure 25 .

 25 Figure 25. Lateral position behavior (robust control) (experimental results).

Figure 26 .

 26 Figure 26. Perturbation of camera height.

Figure 27 .

 27 Figure 27. Lateral position behavior (experimental results).

Figure 28 .

 28 Figure 28. Perturbation on camera height.

Figure 29 .

 29 Figure 29. Perturbation to camera inclination angle.

Figure 30 .

 30 Figure 30. Parameter a (robust and pole assignment control) (experimental results).

Figure 31 .

 31 Figure 31. Lateral position behavior (robust and pole assignment control) (experimental results).

Figure 32 .

 32 Figure 32. Perturbation on camera roll angle.

Figure 33 .

 33 Figure 33. Parameter a (robust and pole assignment control) (experimental results).

Figure 34 .

 34 Figure 34. Lateral position behavior (robust and pole assignment control) (experimental results).

Figure 35 .

 35 Figure 35. Perturbation to camera roll angle.

Figure 36 .

 36 Figure 36. Perturbation on camera inclination angle.

Figure 37 .

 37 Figure 37. Perturbation on camera height.

Figure 38 .

 38 Figure 38. Lateral position behavior (robust control) (experimental results).

Figure 39 .

 39 Figure 39. Parameter a (robust control) (experimental results).

Figure 40 .

 40 Figure 40. Overview of the experimental site.

Figure 41 .

 41 Figure 41. 1/10 scale road.

Table 1 .

 1 Steady state error ∞ .

	α in degrees	∞ measured	∞ computed
	-8	3 5	3 7
	-9	4 9	5 6
	-10	55	62