ESTIIN Julien Blaise

Ilian A Bonev

Bruno Monsarrat

Sébastien Briot

Michel Lambert

Claude Perron

Kinematic Characterisation of Hexapods for Industry

Keywords: hexapod, Stewart-Gough platform, workspace, calibration, laser tracker, CATIA, aerospace manufacturing

Purpose -The aim of this paper is to propose two simple tools for the kinematic characterization of hexapods. The paper also aims to share the authors' experience with converting a popular commercial motion base (Stewart-Gough platform, hexapod) to an industrial robot for use in heavy duty aerospace manufacturing processes.

Design/methodology/approach -The complete workspace of a hexapod is a six-dimensional entity that is impossible to visualize. Thus, nearly all hexapod manufacturers simply state the extrema of each of the six dimensions, which is very misleading. As a compromise, we propose a special three-dimensional subset of the complete workspace, an approximation of which can be readily obtained using a CAD/CAM software suite, such as CATIA.

While calibration techniques for serial robots are readily available, there is still no generally-agreed procedure for calibrating hexapods. We propose a simple calibration method that relies on the use of a laser tracker and requires no programming at all. Instead, the design parameters of the hexapod are directly and individually measured and the few computations involved are performed in a CAD/CAM software such as CATIA.

Findings -The conventional octahedral hexapod design has a very limited workspace, though free of singularities. There are important deviations between the actual and the specified kinematic model in a commercial motion base.

Practical implications -A commercial motion base can be used as a precision positioning device with its controller retrofitted with state-of-the-art motion control technology with accurate workspace and geometric characteristics.

Originality/value -A novel geometric approach for obtaining meaningful measures of the workspace is proposed. A novel, systematic procedure for the calibration of a hexapod is outlined. Finally, experimental results are presented and discussed.

Introduction

The Stewart-Gough platform, also called hexapod, is the best-known and most commonly used parallel robot in industry.

Hexapods have been used for several decades [START_REF] Bonev | The true origins of parallel robots[END_REF], mainly for motion simulation (e.g., flight simulators). This type of product is designed to displace a load as heavy as several tons, and is typically referred to as a motion base or motion platform.

In recent years, there has been a growing interest in the use of parallel robots in the aerospace sector for manufacturing aircraft structures. Their high stiffness, high accuracy and low inertia make them good candidates to replace the typical serial structure of CNC machines, resulting in increased throughput and flexibility, and reduced production costs [START_REF] Sàenz | New Automation Solutions in Aeronautics through Parallel Kinematic Systems[END_REF]. Examples of hybrid structures incorporating a tool head with parallel kinematics are DS Technologie's ECOSPEED and ECOLINER [START_REF] Hennes | Application of PKM in Aerospace Manufacturing -High Performance Machining Centres ECOSPEED, ECOSPEED-F and ECOLINER[END_REF]) and Fatronik's SPACE 5H [START_REF] Collado | Space 5H : A New Machine Concept for 5-Axis Milling of Aeronautics Structural Components[END_REF]) machining centres. They all rely on the same arrangement where the parallel module, positioning a high speed milling head, is mounted on a translational two degree-of-freedom (DOF) unit in order to be able to work on large-scale aeronautic components.

Another recent tendency in the aerospace sector is the use of dynamic modules with parallel kinematics in reconfigurable tooling to replace dedicated tooling and/or specialized equipment for the assembly of aircraft structures [START_REF] Kihlman | Affordable reconfigurable tooling[END_REF][START_REF] Kihlman | Low-cost automation for aircraft assembly[END_REF]). In such applications, an external serial robotic system is used to sequentially reconfigure a set of passive tooling modules, those with six DOFs consisting of standard hexapods.

In this context, the Aerospace Manufacturing Technology Centre (AMTC) of the National Research Council Canada (NRC) is involved in a research initiative to investigate the industrialization of hexapods in heavy duty aerospace manufacturing processes such as drilling and milling of aerospace materials. An application with current particular emphasis is the positioning of heavy aeronautic components with very high accuracy using an active dynamically reconfigurable tooling using parallel kinematics. In each configuration of the tooling, precision machining operations can be applied to the structural component using an external serial robot.

There exist a few commercial hexapods aimed for precise positioning, such as the F-200i, manufactured by Fanuc, but their payload is less than a hundred kilograms, unlike the payload of commercially available motion bases. On the other hand, although it might seem simple to manufacture a hexapod, companies such as Moog FCS, the leading manufacturer of motion systems, have decades of experience building hundreds of such motion systems. Even leading flight simulator manufacturers such as CAE no longer build their own motion bases but purchase them from Moog FCS. Because high payload capability was one of the main requirements for AMTC researchers, it was decided to proceed with the procurement of a heavy payload commercial motion system rather than manufacture a hexapod from scratch. The system acquired by the AMTC (Fig. 1), a Moog FCS 5000E motion base, is equipped with electric actuators and can have a payload of 2500 kg.

Although the hexapod's electro-mechanical design makes it very suitable for aerospace manufacturing applications, its positioning precision and tracking performance as provided by the factory controller were far off from the tolerances required by aerospace manufacturing processes. Furthermore, as it was used primarily in playback mode, the user interface capabilities in terms of online monitoring and path planning were severely limited from a research and development standpoint. For these reasons, it was decided at the time of procurement to also retrofit the factory controller with a commercialoff-the-shelf high performance control platform. The selected motion controller was one developed by Delta Tau Data Systems. It had been previously implemented successfully for the motion control of the ALIO Industries 3-and 6-DOF parallel kinematic robotic micromanipulators designed for nanometer precision applications [START_REF] Hennessey | Parallel kinematic micromanipulator[END_REF].

Before integrating the advanced robot controller, however, the hexapod's geometry needed to be fully characterized. No need to mention that the otherwise very complex six-dimensional hexapod workspace was succinctly described by the manufacturer in a six rows by six columns table (as is the case with nearly all commercial parallel robots). Furthermore, proper kinematic calibration of the hexapod geometry was necessary for the sake of achieving better absolute accuracy. This paper first presents an original algorithm for computing a meaningful measure of the workspace of a hexapod using CATIA. the second part, a simple procedure for calibrating a hexapod using a laser tracker is proposed. While this procedure is very intuitive, it has never been described before in the literature. Finally, the architecture of the retrofitted controller incorporating the determined workspace characteristics and calibration data is presented in the last section.

It is well known that hexapods (and parallel robots in general) have very limited workspace. Hence, it is extremely important to make optimal use of this small workspace, which requires a good knowledge of it.

As the complete workspace of a hexapod is a highly-coupled entity in a six-dimensional space for which no human representation exists, different types of subsets of the complete workspace are usually determined in the academic community.

Hexapod manufacturers would, however, simply specify only the largest six one-dimensional subsets (e.g., from its home position, the hexapod can move up or down 25 cm, without changing the platform's orientation). This information is obviously extremely insufficient and misleading.

In the academic community, the most commonly determined subset of the complete workspace of parallel robots is the constant-orientation workspace, which is the three-dimensional volume that can be attained by the mobile platform's centre while the mobile platform is kept at a constant orientation. Therefore, in order to get a good understanding of the hexapod's complete workspace, one might represent a series of constant-orientation workspaces for various orientations. While this would be largely better than what hexapod manufacturers specify, such a representation is still of little practical value.

Fortunately, in various applications the hexapod's capability to rotate its platform about the platform's z-axis (torsion) is not needed (e.g., in five-axis machining) or can be compensated otherwise. A common way of dealing with this redundancy is to use optimization methods in order to come up with the best configuration, given some criteria. However, as shown in [START_REF] Bonev | Orientation workspace analysis of 6-DOF parallel manipulators[END_REF], if the torsion is kept at zero (i.e., the platform only tilts about horizontal axis), then the ranges for the remaining degrees of freedom are largely increased. While zero is not always the torsion angle value that maximized the workspace of a hexapod, it is a very good approximation and calls for no extra computations. Thus, we propose a new three-dimensional workspace subset that we name maximum tilt workspace. This workspace measure is defined as the set of positions that the centre of the mobile platform can attain with any direction of its z-axis making a tilt angle limited by a given value. Before detailing our algorithm, however, we will describe a not well-known set of three angles for representing orientation, which is the key for our algorithm.

Tilt and Torsion Angles

A peculiar three-angle orientation representation, later called Tilt-and-Torsion (T&T) angles, was proposed in [START_REF] Bonev | Orientation workspace analysis of 6-DOF parallel manipulators[END_REF], in conjunction with a new method for computing the orientation workspace of symmetric spatial parallel robots. It was shown that T&T angles take full advantage of a robot's symmetry. These angles were also independently introduced in [START_REF] Huang | Closed form solution to workspace of hexapod-based virtual axis machine tools[END_REF] and [START_REF] Wang | Workspace analysis of a novel closed-chain manipulator[END_REF]. Later, it was found out that the angles had been proposed in [START_REF] Korein | A Geometric Investigation of Reach[END_REF] under the name halfplane-deviation-twist angles. Yet, again in 1999, these angles were proposed independently in [START_REF] Crawford | A new technique for determining 3-D joint angles: The tilt/twist method[END_REF] as a new standard in modeling angular joint motion, and particularly that of the spinal column's vertebra. These angles are also used for computer animation of articulated bodies, known as the swing-and-twist representation.

In [START_REF] Bonev | Advantages of the modified Euler angles in the design and control of PKMs[END_REF], the advantages of T&T angles in the study of spatial parallel robots were further demonstrated. It was shown that there is a class of 3-DOF parallel robots that have always a zero torsion, that we now call zero-torsion parallel robots.

T&T angles are defined in two stages-a tilt and a torsion. This does not, however, mean that only two angles define the T&T angles but simply that the axis of tilt is variable and is defined by another angle. In the first stage, illustrated in Fig. 2(a), the body frame is tilted about a horizontal axis, a, at an angle , referred to as the tilt. The axis a is defined by an angle , called the azimuth, which is the angle between the projection of the body z 0 axis onto the fixed xy plane and the fixed x axis. In the second stage, illustrated in Fig. 2(b), the body frame is rotated about the body z 0 axis at an angle , called the torsion.

For space limitations, we will omit the details of the derivation process, and write directly the resulting rotation matrix of T&T angles, which is ( , , )

                                                                c c c s s c c s s c c s s c c c s s c s c c s s s c s s c R (1)
where

cos c    , sin s    , cos c    , sin s    , cos( ) c     , and sin( ) s     .
Observing the above rotation matrix, many will argue that these so-called T&T angles are in fact ZYZ Euler angles, where the spin angle  has been replaced with   . To some extent, this is true. So one can think of T&T angles as a slight modification of ZYZ Euler angles. This modification is not absolutely necessary but it leads to significant simplifications.

One of the properties of any three-angle orientation representation is that a given orientation can be represented by at least two triplets of angles. In our case, the triplets {, , } and {  180, -, } are equivalent. To avoid this and the representational singularity at  = 180 (which is hardly achieved by any parallel robot), we set the ranges of the azimuth, tilt, and torsion as, respectively, ( 180 ,180 ]

     , [0,180 )   and ( 180 ,180 ]      .

Nominal Hexapod's Geometry

Before computing the workspace, we need to define the geometric parameters of the mechanism. Let us denote as A i (in the following of this paper, i = 1 to 6) the passive joint centres of the Cardan joints attached to the base corresponding to actuator i, and as B i the passive joint centres of the Cardan joints attached to the moving platform. All joint centres A i (resp. B i ), are located in a plane. The origin of the base frame  B , is located at the barycentre of all points A i , and the origin of the moving platform frame  PL is at point P, the barycentre of all points B i . The positions of points A i (resp. B i ) with respect to the origin O (resp. P) are given in Table 1. Moreover, the displacements of the actuators are comprised between A i B i = 1143 mm and A i B i = 1651 mm. All this information can be found in the manufacturer's specifications of the hexapod.

Joint Coordinates along x-axis (mm) y-axis (mm) z-axis (mm)

Constant-Orientation Workspace in CATIA

Many parameters influence the size of the workspace of a parallel robot. Among the main ones, we can mention:

-ranges of the joints (passive or active);

-shapes of the base and mobile platform;

-mechanical interferences;

-singular configurations.

Several methods can be used in order to find the shape of the workspace of a manipulator [START_REF] Merlet | Parallel robots[END_REF]. As numerical methods give only an approximation of the shape of the workspace, which depends on the discretization step, it is preferable to use geometrical approaches which will give the exact form of the workspace. However, such methods are difficult to pro-gram as standalone programs and do not allow creating a representation with a good quality. For this reason, it has been proposed in [START_REF] Bonev | A Geometrical Method for Computing the Constant-Orientation Workspace of 6-PRRS Parallel Manipulators[END_REF] to use CAD software such as CATIA to draw the shape of a workspace.

As explained in [START_REF] Merlet | Parallel robots[END_REF]), the constant orientation workspace can be found as the intersection of six so-called vertex spaces. Analyzing the vertex space of a leg, and assuming that the only limitation is the stroke of the linear actuators, it may be represented by a hollow sphere, or a half hollow sphere, if we only consider the portion superior to the plane of the base (Fig. 3). Thus, the constant-orientation workspace, for a given orientation of the mobile platform, is obtained by the intersection of the six vertex spaces, which can easily be programmed in CATIA (Fig. 4).

Maximum Tilt Workspace in CATIA

The maximum tilt workspace may be defined as the total reachable volume, for any angle  of the mobile platform for a given maximum tilt angle  max . In other words, the maximum tilt workspace is the set of all positions that the centre of the mobile platform can attain, with any tilt angle between 0 and  max , and any azimuth (any angle Therefore, this workspace may be found as the intersection of all constant-orientation workspaces for any angle , and any tilt angle between 0 and  max , and any angle  between -180° and 180°. In [START_REF] Bonev | Orientation workspace analysis of 6-DOF parallel manipulators[END_REF], it was shown through examples that for a given azimuth () and tilt angle (), the workspace is nearly largest for  = 0. Therefore, we can approximate the maximum tilt workspace as the intersection of all constant-orientation workspaces for any angle , any tilt angle between 0 and  max , and  = 0.

Of course, there is no analytic method for finding this workspace, so we would rather use some discretization here. First of all, we have to fix the value of the maximal tilt angle  for which the workspace should be defined. Then, for several discrete values of  and  in the studied orientation intervals ( ( 180 ,180 ]

     ,   max , 0    
), we plot all constantorientation workspaces of the robot (Fig. 5a). Finally, using CATIA, we intersect all these volumes in order to obtain the maximal tilt workspace (Fig. 5b).

Note that the result is an approximation but is the good thing is that all points from this approximation are inside the actual maximum tilt workspace. In other words, we claim that the maximum tilt workspace is at least the one that we can obtain with our method. Also note that it takes about several seconds to obtain the approximation shown in Fig. 5b.

Inscribed Spheres and Cylinders

Obviously, the previously presented representations of the maximum tilt workspace are inadequate for an industrial use of robots, because the shape is still too much complicated to analyze. Therefore, it is preferable to define a workspace with a simpler form inscribed in the maximum tilt workspace, such as a sphere or a cylinder.

Maximal Inscribed Spheres

The problem remains to find the radius and the position of the centre of the largest possible sphere inscribed in the workspace (Fig. 6). Such a problem cannot be solved analytically. Therefore, we propose to treat it numerically.

First, we chose the coordinates of the centre of gravity of the analyzed volume as the departure point. We define a vertical line L passing through this point. For any point Q along this line, we will create a sphere S centred in Q of an arbitrary radius r. Then, using CATIA, we make the intersection between S and the analyzed workspace. We compare the volume of S and of the intersection. If these volumes are equal, so the sphere is inscribed in the workspace and we enlarge the radius r;

if not, the radius of the sphere is larger and we decrease it. Thus, incrementally, it is possible to find the largest radius of the sphere centred in Q and inscribed in the workspace, and retain it. Doing it for any point Q of the vertical line, and comparing all maximal radii, we can find the maximal inscribed sphere (Fig. 6).

The results, for the Stewart-Gough platform under study, are presented in Fig. 7. It is interesting to note that the radius of the maximal inscribed sphere is linearly proportional to the tilt angle and its center is almost constant.

Maximal Inscribed Cylinders

Defining the maximal inscribed cylinder is a more complicated task, because a cylinder, contrary to a sphere, is defined by two parameters: its radius and its height. However, the task globally remains the same: finding the cylinder inscribed in the workspace which has the greatest volume (Fig. 8).

For finding this cylinder, we propose to proceed as follows. For a point Q belonging to the vertical axis L, we first fix a small radius of the cylinder and find the maximal admissible height which allows the cylinder C to be inscribed in the workspace (following a procedure equivalent to that used in the case of the sphere). We retain the volume of this cylinder and rebegin this algorithm for a larger value of the radius, until we find the cylinder with the maximal volume. Once it is found, then we achieve another time this procedure for another point of the axis L. Doing it for any point Q of the vertical line L, and comparing all maximal volumes, we can find the maximal inscribed cylinder (Fig. 8).

The results, for the Stewart-Gough platform under study, are presented in Fig. 9. It is interesting to note that, once again, the radius and the height of the maximal inscribed cylinder are almost linearly proportional to the tilt angle and its center is nearly constant for any tilt angle.

Singularities

Now that the workspace of the manipulator is defined, the most important step is to verify that there are no singularities in it. Analyzing the singularities of a hexapod is not a simple task and is still an open problem [START_REF] Li | Analytic form of the six-dimensional singularity locus of the general Gough-Stewart platform[END_REF][START_REF] Li | Determination of the maximal singularity-free zones in the sixdimensional workspace of the general Gough-Stewart platform[END_REF][START_REF] Merlet | Parallel robots[END_REF][START_REF] St-Onge | Singularity analysis and representation of the general Gough-Stewart platform[END_REF]. Singularities can be divided into the two main groups:

-serial singularities for which the manipulator loses one (or more) degree of freedom. For the hexapod, they only appear if the length of one actuator is null, which is practically impossible;

-parallel singularities for which the manipulators gains at least one degree of freedom. A parallel robot cannot cross such singularities (unless some complex tricks are performed, such as using gravity or inertia) and can even break up in their vicinity. The problem is that near such singularities, the motors are required to exert huge forces or torques.

It is very difficult to analyse the singularities of a hexapod analytically, therefore a numerical method is preferred. The first step is to discretize the workspace of the robot, and for each point at a given orientation, to look at the sign of the determinant of the Jacobian matrix. If between two discrete points, the sign changes, we have crossed a singular configuration.

Of course, the accuracy of these results depends on the step used in the discretization. But for rather small steps, there are few chances that the program does not detect a singularity.

So we ran such an algorithm using Matlab for a wide range of constant-orientation workspaces and did not detect a singularity. Therefore, it is clear that the robot was well designed by its manufacturer.

The next part of our work will present the calibration of the hexapod.

Calibration

A great deal of work has been done on the calibration of parallel robots (e.g., [START_REF] Andreff | Vision-Based Kinematic Calibration of an H4 Parallel Mechanism: Practical Accuracies[END_REF][START_REF] Chai | A practical calibration process using partial information for a commercial Stewart platform[END_REF][START_REF] Daney | Kinematic calibration of the Gough platform[END_REF], but, owing to the large variety of parallel architectures, no generalized method exists. Nearly all these calibration methods are based on purely kinematic models (i.e., only geometrical errors are assumed). Obviously, every model is completely different from one architecture to another, but, typically, universal and spherical joints are assumed to be perfect.

Generally, the calibration of parallel robots is performed using either built-in extra sensors [START_REF] Daney | Kinematic calibration of the Gough platform[END_REF] or using external metrology equipment measuring (possibly only partially) the pose of the mobile platform [START_REF] Andreff | Vision-Based Kinematic Calibration of an H4 Parallel Mechanism: Practical Accuracies[END_REF][START_REF] Chai | A practical calibration process using partial information for a commercial Stewart platform[END_REF]. Clearly, only the second method is suitable for calibrating an existing robot, such as our hexapod.

After a series of measurements has been conducted, an optimization procedure is used to estimate the set of model parameters that best approximates the output of the kinematic model to the output of the actual robot. In other words, the objective is not necessarily to correctly identify each individual parameter, but to obtain a model that best approximates the input-output relationship of the robot at the poses measured.

The vast majority of authors claim that calibration should not be time-consuming, should ideally be automated and preferably rely on low-cost measurement devices. In the aerospace context, however, (highly expensive) laser metrology systems and qualified personnel who know how to use them are currently available at all aircraft manufacturers and systems integrators for a family of applications requiring micrometer accuracy. Such applications range from the construction and certification of tooling equipments to mating and assembly of aircrafts components.

A commercial laser tracker system capable of achieving measurement accuracy of a few micrometers was available at the AMTC facility (Leica's LTD500). Naturally, our research team decided to take full advantage of this metrology equipment for the calibration of the 5000E motion platform (Fig. 10).

Furthermore, since spending a few extra hours on measurements that will eventually improve the accuracy of an existing robot that costs more than a hundred thousand dollars was not a problem, we decided to follow a completely different calibration procedure. Indeed, instead of the standard calibration approach, we measured directly each geometric characteristic of the hexapod. While this might seem to be the most natural (though most time consuming) approach, there is no literature on it, let alone experimental results. While we believe that our direct approach gives better results, we made no performance comparison with the typical indirect calibration approach.

Calibration of the Cardan Joints Positions

The first step of our calibration method consists in finding the geometric characteristics of the hexapod, i.e., the exact positions of the centres of its Cardan joints (which are assumed to be perfect). The main principle is based on the fact that it is possible to determine the centre of a sphere, and its radius, knowing the positions of at least four (non coplanar) points located at its surface.

Thus, for finding the coordinates of the centres of the Cardan joints, it is desirable to measure the position of some points fixed on the legs for at least four configurations of the manipulator (Fig. 11). These configurations have to be chosen carefully, in order to guaranty the best results. This can be done by choosing four distinct hexapod configurations (i.e., four distinct platform poses), in which a leg is displaced as far as possible in four normal directions.

There still remains one problem: which configurations should be taken? For the base joints, by simulation, it has been found that these configurations appear for the extreme points A, B, C, D of a workspace defined by  =  =  = 0° and z = 307.9 mm (Fig. 12). For the mobile platform joints, by simulation, these configurations appear for the extreme points A, B, C, D of a workspace defined by  =  =  = 0° and z = 450 mm.

Once these points are found, the centres of the Cardan joints can be found by solving the following equation:

0 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2            D D D D D D C C C C C C B B B B B B A A A A A A z y x z y x z y x z y x z y x z y x z y x z y x z y x z y x , ( 2
)
where x, y and z are the coordinates of the joint centre and x Q , y Q and z Q are the coordinates of a point Q. It should be mentioned that, for having the best accuracy on the position of the joint centres, it is preferable to measure the position of more than four points, and to find the centre of joints through an optimization method. This can be done readily using any metrology software.

However, the obtained positions of the joint centres are given with respect to the laser tracker frame  LT which is not fixed with respect to the hexapod base, since we have to displace the laser tracker often (Fig. 10). Therefore, we need to define a global reference frame  B fixed on the hexapod base that will be independent of the position of the laser tracker. In order to define the location of the reference frame  B , three reflectors are positioned on the base of the hexapod (Fig. 13)

and their coordinates are measured each time that the laser tracker is displaced. Another frame  P , fixed in the moving platform, is added in order to help us define the coordinates of the centres of the platform joints.

Obviously, there this change of reference frames leads to a slight accumulation of errors that is different from one measurement configuration to another. However, this effect is minor compared to the large errors that we find with respect to the hexapod nominal geometry. Therefore, we do not take it into account.

Once the coordinates of the base joint centres are found, we need to fit the real base hexagon (which is non planar) to the real base hexagon, and define a new base frame. This can be done using CATIA. The first step is to define the optimal plane P opt that minimizes the sum of the squared distances between the real six base joint centres and the plane. Next, we can define the barycentre G of all real base joint centres. Then, using CATIA, we draw the optimal plane P opt (with the real posi-tion of the base joint centres) and make it coincide with the theoretical plane of the fixed base of the robot. We also make the real and nominal barycentres coincide. There still remains one free degree of rotation between the two planes: a rotation around the z axis. In order to fix this rotation, many solutions are possible. We propose here the following approach. First, trace a point at the middle of the segment between two real base joint centres. Then, project it on the plane P opt and trace a line between G and this point. Make the same operation with two theoretical base joint centres, and make the two lines coincide. Thus, the last degree of freedom is fixed.

We can follow the exact same procedure for the mobile platform. The results are presented in Tables 2 and3. They distances between the coordinates of the nominal and real base or platform centres vary from less than 0.6 mm to more than Now that the errors on the positions of the joint centres are known, the last part of our calibration method is to define the errors on the actuators' length that are due to the control system.

Calibration of Actuators' Lengths

The aim of this calibration is to assess the performance of the factory control system. To perform this evaluation, the errors between the desired, or theoretical, and measured actuators' lengths are evaluated and analysed.

In order to determine these errors, we will proceed with the following approach. We enter in the control system the desired values for the actuators. Then, using the laser tracker, we can define the positions and orientations of frames  B and  P , and also the real coordinates of all twelve joint centres. Let us denote as x Ai , y Ai and z Ai the coordinates of the base joint centre of actuator i along the x, y and z axes, respectively, and as x Bi , y Bi and z Bi the coordinates of the platform joint centre of actuator i along x, y and z axes, respectively. Thus, the length  i of actuator i can be found through the following relation:

      2 2 2 Ai Bi Ai Bi Ai Bi i z z y y x x        . (3)
Thus, we measure the positions of the joint centres and then compute the values of  i for three configurations of the platform which correspond to the following lengths for each actuator: (a) 8% of the total actuators strut elongation, (b) 50% and (c) 92%, i.e., 1183.64 mm, 1397 mm and 1610.36 mm, respectively. The errors on the lengths are given in 4 Errors on the actuators' lengths.

Improvement of the Robot Accuracy

In the nominal model, since the base and the mobile platform are assumed symmetrical and, for the above three tested configurations of the robot ((a), (b), and (c)), all actuators have the same length, the position along the x and y axes should be equal to zero. But, as there are some errors on the positions on the joint centres and as the controller does not control precisely the length of the actuators, there are deviations from the positions along the x and y axes of the centre of the mobile platform and of the platform's orientation. These deviations were measured and are given in Table 5.They vary from less than 0.1 mm to more than 2 mm.

These results clearly confirm the fact that, in addition to using a calibrated geometric model of the robot, the retrofit of the factory control system of the manipulator is also mandatory to improve the accuracy of the robot. The architecture of the controller, retrofitted using a commercial high performance motion control platform, is briefly presented in the next section. This section is provided purely for information purposes, so that this paper may also be viewed as a case study.

Requirements

As mentioned in the introduction, the motion platform acquired by the AMTC was originally designed for positioning applications involving the playback of pre-recorded trajectories. The positioning and tracking performance were well outside aerospace manufacturing precision requirements, which are in the range of 0.3 mm to 0.02 mm. In order to achieve this level of precision, it was found that the factory controller had both an insufficient update rate and imprecise kinematics model.

Also, due to the research-oriented nature of the projects that were carried out on the platform, openness of the controller was necessary. The level of openness and reconfigurability needs to be such that different industrial applications involving this type of parallel architecture can be investigated. The requirements for the upgrade were formulated as follows:

-Cartesian path planning capability;

-full access to the kinematic model in the controller;

-CPU processing power allowing for fast controller update rates;

-control of actuator torques;

-user interface allowing for online monitoring and data acquisition;

-access to controller gains;

-possibility of performing model-based control;

-data acquisition and monitoring of control signals.

As the original power supply and amplification system was deemed capable of meeting the requirements, the controller retrofit had to interface with the existing electrical layout.

New Controller Configuration and Features

The original configuration comprised of an industrial PC hosting the controller running under DOS, responsible for sending out joint-level commands. A PLC was also present to provide braking, security and other supervisory functions. Command signals were acquired and sent to the motor drives through a custom-made interface board. Access to the controller via the graphical interface was done using a standard screen and keyboard configuration.

The main component of the new controller architecture is a Delta Tau UMAC system. The system incorporates a DSP based motion controller capable of handling up to 32 axes as well as the analog and digital inputs/outputs required to control and monitor the system, thereby fulfilling the role of the old control computer and PLC combined. The communication channels directly interface with the motor drives, from which resolver signals are read and resulting commands sent to. Figure 14 illustrates the system architecture before and after the controller upgrade.

The motion controller holds all the necessary algorithms to perform advanced monitoring and control functions. Some of the features of the motion controller are listed below:

-trajectories programmable using linear interpolation, circular interpolation or B-splines;

-Cartesian-level path-planning via user-programmable inverse kinematics;

-self-tunable PID loops with variable gains; -S-curve acceleration profile;

-ability to include look-up tables;

-look-ahead filter based on velocity and acceleration limitations on the trajectory.

The user interface, as shown in Fig. 15, was programmed in Visual Basic and allows for real-time monitoring and data acquisition of controller signals. The kinematic parameters resulting from the above-described calibration procedure were included in the model used by the motion controller. Also, Cartesian workspace limitations as a function of platform orientation were also implemented for path-planning considerations.

Conclusions

This paper is the result of a collaborative research project aimed at converting a popular commercial motion base to an industrial robot for use in heavy duty aerospace manufacturing processes. A kinematic analysis of the workspace characteristics showed that the conventional octahedral hexapod design has a very limited workspace, though free of singularities. A novel three-dimensional measure of workspace and a simple method for its computation were presented. In addition, a simple and intuitive calibration procedure was proposed for directly measuring the geometry of the hexapod using a laser tracker. It was shown that important deviations exist between the actual and the factory kinematic models. Finally, we presented some information regarding the retrofit of the existing hexapod controller using a high performance off-the-shelf motion controller incorporating the previously determined workspace characteristics and calibration data. Upcoming work includes system performance benchmarks in positioning precision.

Figure 1

 1 Figure 1 Photo of the 5000E motion base located at the NRC Aerospace Manufacturing Technology Centre.

Figure 2

 2 Figure 2 The successive rotations of the T&T angles: (a) tilt, (b) torsion.

Figure 3

 3 Figure 3 Vertex space of a leg -CAD representation.

Figure 4

 4 Figure 4 Intersection of the 6 vertex spaces for a given orientation of the platform: (a) top view, (b) bottom view.

Figure 5

 5 Figure 5 (a) All constant-orientation workspaces of which the intersection gives (b) the maximal tilt workspace.

Figure 6

 6 Figure 6 Maximal inscribed sphere.

Figure 7

 7 Figure 7 Maximal inscribed spheres in the maximal tilt workspaces.

Figure 8

 8 Figure 8 Maximal inscribed cylinder.

Figure 9

 9 Figure 9 Maximal inscribed cylinders in the maximal tilt workspaces.

Figure 10

 10 Figure 10The laser tracker calibrating the hexapod.

Figure 11 A

 11 Figure 11 A tooling ball fixed on the extremity of a leg.

Figure 12

 12 Figure 12Measurement positions for the identification of the base joint centres.

Figure 13

 13 Figure[START_REF] Huang | Closed form solution to workspace of hexapod-based virtual axis machine tools[END_REF] The three magnetic nests used for identifying the global reference frame.

Figure 14

 14 Figure 14 Schematic of the factory controller retrofit.

Figure 15

 15 Figure 15User interface for manual jogging mode.

Table 1

 1 Nominal coordinates of the joint centres.

	A 1	-1066.8	127	0
	A 2	423.418	987.298	0
	A 3	643.382	860.298	0
	A 4	643.382	-860.298	0
	A 5	423.418	-987.298	0
	A 6	-1066.8	-127	0
	B 1	516.382	640.334	0
	B 2	-296.418	767.334	0
	B 3	812.8	127	0
	B 4	812.8	-127	0
	B 5	-296.418	-767.334	0
	B 6	516.382	-640.334	0

Table 2

 2 2.3 mm, which is significant for any positioning device. Errors between the nominal and real values of the base joint centres.

	Joint	Errors x-axis (mm) y-axis (mm) z-axis (mm)	Error norm (mm)
	A 1	0.279	0.158	0.465	0.565
	A 2	1.327	0.969	0.071	1.645
	A 3	0.381	1.032	0.36	1.157
	A 4	0.834	1.264	1.79	2.345
	A 5	0.699	0.736	1.711	1.989
	A 6	0.308	0.158	0.254	0.429
	Joint	Errors x-axis (mm) y-axis (mm) z-axis (mm)	Error norm (mm)
	B 1	0.584	0.531	1.382	1.591
	B 2	0.653	1.576	1.385	2.198
	B 3	0.703	0.223	1.407	1.588
	B 4	0.207	1.192	1.459	1.896
	B 5	0.88	1.065	1.464	2.012
	B 6	0.321	0.075	1.389	1.428

Table 3

 3 Errors between the nominal and real values of the mobile platform joint centres.

Table 4 .

 4 They vary from 0.1% to 0.9%. It will be shown next that this induces large errors to the position of the mobile platform.

				Errors
	Actuator	configuration (a) configuration (b) configuration (c)
		mm	%	mm	%	mm	%
	1	1.12	0.10	2.08	0.15	2.13	0.13
	2	3.68	0.31	3.87	0.28	3.10	0.19
	3	1.41	0.12	1.56	0.11	1.71	0.11
	4	-3.06	0.26	-3.21	0.23	-3.33	0.21
	5	-10.68 0.90	-10.58 0.76	-10.81 0.67
	6	-7.39	0.62	-8.40	0.60	-9.69	0.61
		Table

Table 5

 5 Errors on the position of the reflectors of the mobile platform.

					Errors
	Reflector	configuration (a)	configuration (b)	configuration (c)
		x axis (mm)	y axis (mm)	x axis (mm)	y axis (mm)	x axis (mm)	y axis (mm)
	1	-0.069	-0.358	-0.707	-1.162	-1.645	-2.197
	2	-0.199	-1.162	-0.814	-1.104	-1.696	-2.229
	3	-0.2	-2.197	-0.81	-1.138	-1.78	-2.241

Acknowledgements

The authors would like to thank François Ferland, technical officer within the AMTC automation and robotics group for his support during the controller retrofit stage of the project. The authors would also like to acknowledge the Montreal-based company THCE for the integration and programming of the Delta Tau motion controller.

List of Figure


A Koessler

N Bouton

S Briot

B C Bouzgarrou

Y Mezouar

Linear Adaptive Computed Torque Control for Singularity Crossing of Parallel Robots

The operational workspace of parallel robots is often reduced by the presence of singularities. Recently, it has been proven that Type 2 singularities can be crossed in a way such that the dynamic model of the robot never degenerates. This discovery has been the starting point of several works on multi-model Computed Torque Control (CTC) that allow crossing of Type 2 singularities. In this paper, we propose a further improvement thanks to adaptive control. The major contribution of the paper is in the control law synthesis, which uses only linear methods, in contrast to usual approaches based on Lyapunov theory. This theoretical development will be validated both in simulation and experimentally.

Introduction

It is often said that parallel manipulators have the edge on their serial counterparts in terms of cycle time and rigidity. However, the size of their workspace is a serious drawback. In general, this workspace is further split by Type 2 singularities [START_REF] Gosselin | Singularity analysis of closed-loop kinematic chains[END_REF]. This is especially annoying as joint control usually computes divergent setpoints in the neighborhood of those singularities, meaning that crossing them is not a solution.

A lot of propositions revolve around the idea of getting rid off singularities. Optimal design allows to eliminate them or to reduce their impact [START_REF] Gogu | Structural synthesis of fully-isotropic translational parallel robots via theory of linear transformations[END_REF]. Actuation redundancy or variable actuation modes [START_REF] Rakotomanga | Kinetostatic performance of a planar parallel mechanism with variable actuation[END_REF] allows to cross them at a supplementary cost.

Contrary to these approaches, some researchers have proved that Type 2 singularities do not always induce the degeneracy of the inverse dynamical model of parallel robots [START_REF] Ider | Inverse dynamics of parallel manipulators in the presence of drive singularities[END_REF], [START_REF] Briot | Enlarging parallel robot workspace through type-2 singularity crossing[END_REF]. The expression of these non-degeneracy conditions and their use in multi-model control law will be explained further on.

While being fairly reliable, this method does not ensure success in singularity crossing, mainly because of trajectory tracking error induced by the control law. Then, in some cases, the desired trajectory is not respected and the robot is unable to cross the singularity. Therefore, more advanced control is needed in order to ensure a perfect crossing of the singularity.

Adaptive control is widely used when robot dynamic models are not perfectly known or change over time [START_REF] Zhang | A review on model reference adaptive control of robotic manipulators[END_REF]. Our application falls into the first case, as the dynamic model has poor precision and crossing trajectories need high accelerations. To simplify implementation and tuning, we propose a control law derived from linear algebra, contrary to usual Lyapunov-based approaches.

The paper is organized as follows: previous work on singularity crossing is recalled in section 2. Main contribution lies in section 3, where the linear adaptive control law is presented. Its efficiency is proved in section 4, with simulations and experiments carried out on a planar parallel robot.

Previous Work on Singularity Crossing

Dynamical Non-Degeneracy Rule

It has been proven by [START_REF] Ider | Inverse dynamics of parallel manipulators in the presence of drive singularities[END_REF] and [START_REF] Briot | Enlarging parallel robot workspace through type-2 singularity crossing[END_REF] that parallel singularities do not always induce degeneracy of parallel robot's dynamic model. The rule for non-degenerating motion planing is the following: in singular configurations, the wrench exerted on the end-effector (by inertia and external forces) must be orthogonal to the direction of the uncontrollable motion.

This result can be used to generate a crossing trajectory that ensures the non-degeneracy of the dynamic model as explained in [START_REF] Pagis | Optimal force generation in parallel manipulators for passing through the singular positions[END_REF].

Control Scheme for Singularity Crossing

Multi-model Computed Torque Control law is recalled as explained in [START_REF] Pagis | Optimal force generation in parallel manipulators for passing through the singular positions[END_REF].

The control error to minimize is e = q dq where q d is the desired joint value and q the measured joint value. Parallel robot IDM can be generally written as :

τ = Mq + h = Mv + h (1)
with the mass matrix of the robot M(q) and the vector of centrifugal effects h(q, q). The intermediate control input v allows to perform input-output linearization and is defined by 3rd-order dynamics :

v = qd + K v ė + K p e + K i ∫ e (2)
where gain matrices K v , K p , K i impose the dynamics of articular error.

However, in singular configurations, IDM (1) cannot be computed. Yet, as explained in [START_REF] Pagis | Optimal force generation in parallel manipulators for passing through the singular positions[END_REF], the IDM in singularity has a new nondegenerating expression. Transition between the two models can be achieved using a logistic function σ. Consequently, a multi-model control scheme was implemented in [START_REF] Pagis | Optimal force generation in parallel manipulators for passing through the singular positions[END_REF] with the following dynamic models:

• Model 1 -complete model (σ = 0)

τ = Mq + h (3)
• Model 2 -non-degenerating model around singularities (σ = 1)

τ = M q + h (4)

Linear Synthesis of Adaptive Control Law

To improve tracking performances, a more advanced control algorithm scheme is required. Adaptive control of robotic manipulators is well-known and has been the subject of many works, recently reviewed in [START_REF] Zhang | A review on model reference adaptive control of robotic manipulators[END_REF]. Adaptation of dynamic parameters is needed to reduce modeling error, resulting in a better trajectory tracking. This could be especially useful when using the less precise non-degenerating model around the singularities. In this paper, contrary to usual approaches, the presented law for parameter adaptation is based on linear techniques.

Modeling Error

This section presents the usual computation of the error between the (n d ×1) vector of real dynamic parameters χ and its estimate χ.

The real dynamic model of the robot and the one used for control are τ = M(χ)q + h(χ) and τ = M( χ)v + ĥ( χ) (5) with v defined in (2). Modifying (5) allows to get the classical result :

ë + K v ė + K p e + K i ∫ e = M-1 ((M -M)q + h -ĥ). ( 6
)
Full computation of (6) can be found in [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF]. Since the dynamic model is linear with regards to parameters χ, one can write

τ = Φχ = Mq + h (7)
where Φ is a (n × n d ) matrix. Consequently, the differential equation on articular error is linked to dynamic parameter error, that is the difference χ = χχ between real and estimated value:

ë + K v ė + K p e + K i ∫ e = M-1 Φ χ. ( 8
)

Adaptation Law based on State Feedback

Equation ( 8) can be put under the form of a state-space model, where state vector X is a vector of articular error, its integral and its derivative:

X =   e e ė   ⇒ Ẋ =   0 n 1 n 0 n 0 n 0 n 1 n -K i -K p -K v   X +   0 n 0 n 1 n   M-1 Φ χ. ( 9
)
The state-space model ( 9) can be written as:

Ẋ = AX + Bw with w = M-1 Φ χ ( 10
)
where state matrix A and input matrix B are used to check the controllability of the system using Kalman criterion. Then, instead of using Lyapunov theory [START_REF] Khalil | Modeling, Identification and Control of Robots[END_REF], we stick to linear control methods and use classical state feedback

w = -L s X. ( 11
)
where the gain matrix L s is computed by using pole placement methods in order to ensure that closed-loop state matrix F -GL s is a Hurwitz one. Then, state vector is ensured to exponentially converge towards zero. Finally, the estimated dynamic parameters χ are obtained by imposing a first order dynamic evolution on the estimation error χ:

χ = -G χ , G > 0. ( 12
)
By combining (10), ( 11) and ( 12), one can obtain χ = -GΦ -1 ML s X.

(13)

The stability of the control law ( 13) is ensured by the linear methods used to synthesize it (( 11) and ( 12)). Finally, dynamic parameters are estimated by numerical integration of (13), resulting in the adaptive control scheme presented in Fig. 1.

Case Study on DexTAR Robot

DexTAR Dynamic Modeling

To check the efficiency of the proposed approach, experiments are carried on a five-bar parallel robot, the DexTAR manufactured by Mecademic, The inverse dynamic model used in the multi-model control law (see [START_REF] Pagis | Optimal force generation in parallel manipulators for passing through the singular positions[END_REF]) is :

τ = ZZq + F s sign( q) + f f + (1 -σ)J T mẍ (14)
It is well known that parameters to adapt have to be chosen carefully. The choice can be further helped by a sensitivity analysis (see [START_REF] Pagis | Augmentation de la taille de l'espace de travail opérationnel des robots parallèles en traversant les singularités de Type 2 : génération de trajectoires optimales et commande avancée[END_REF]).

Based on this analysis, the two parameters zz 11 and zz 21 of the matrix ZZ (see ( 14)) are adapted. They are expected to have a strong impact on torque setpoint computation, since high articular accelerations are needed to cross the singularities.

Simulation Results

In order to verify that the proposed adaptive control scheme works as intended, wrong initial values of zz 11 and zz 21 are fed to the algorithm. Simulations on Matlab/Simulink have been carried out on a standard trajectory that does not cross singularities. As a result, it can be seen in Fig. 3 that estimates of inertia converge back to the real values. This means that the proposed control law is stable and robust. Moreover, articular error is drastically reduced by the proposed control law.

Experimental Results

Now that theoretical stability and performance are verified on simulation, we want to see if adaptive control can help singularity crossing. For this purpose, a trajectory where the singularity is crossed four times was generated, obviously abiding to the non-degeneracy rule (see Fig. 4).

The difficulty induced by singularity crossing is that the robot has to find a configuration where distal legs are fully extended in order to cross the singularity. Articular errors can either lead to crossing failure (not extending enough) or peaks in torque setpoint (trying to extend more than robot geometry allows to).

The adaptive scheme proposed will be judged on several criteria: articular error, setpoint torque values and setpoint torque smoothness.

Experiments are run with unbiased initial values, which correspond to the identified ones ( ẑz 11 = 0.0134 and ẑz 21 = 0.0142 kgm 2 ). Afterwards, initial values are changed by adding or subtracting 0.01 kgm 2 . Logically, introducing biased parameters is expected to favor adaptive control. The improvement obtained with adaptive control is summarized in Table 1. It can be seen that in all cases, adaptive control reduces input torque peaks and improves smoothness, which is our first goal. Articular error is reduced only if initial parameters are biased. With initial parameters set as zz -0.01, error reduction is particularly impressive, as witnessed on Fig 5 .  Overall, the proposed control scheme works as intended and is a good alternative for smoothing of torque setpoints, even when the initial values of parameters are precise. Articular error is kept low before reaching the singularity, which is crucial for the success of the crossing.

Conclusion

Crossing singularities is a potential improvement for the use of parallel robots. It allows to increase the size of operational workspace, which is one of their main downsides. An approach based only on optimal trajectory generation and dedicated control was proposed to achieve singularity cross-ing. For the crossing to succeed, it is crucial that the trajectory is precisely tracked around singularities. To do so, an advanced control solution was developed using adaptive control algorithm. The originality of our work is the synthesis of the adaptation law based solely on linear methods.

The proposed control law proved to be stable and robust. It was shown experimentally that it is beneficial in terms of trajectory tracking, torque values and smoothness. Future work consists in transposing the proposed control scheme to predictive control, in order to improve the estimation of dynamic parameters and expected to yield better anticipation of singularity crossing.

Figure 2 :

 2 Figure 1: Proposed multi-model adaptive control scheme

Figure 4 :

 4 Figure 4: Testing trajectory

Figure 5 :

 5 Figure 5: Articular error comparison

Table 1 :

 1 Experimental results

	data	ẑz = zz no adapt adapt no adapt adapt no adapt adapt ẑz = zz + 0.01 ẑz = zz -0.01
	RMS error (mrad)	2.82	3.70	3.26	3.07	14.20	5.53
	peak error (mrad)	9.03	10.63	10.24	8.91	46.99	17.05
	RMS torque (V)	1.37	0.96	2.26	1.71	1.61	0.89
	peak torque (V)	8	3.18	8	8	5.87	3.18
	peak t. derivative (V/s)	1680	715	2209	1949	1079	302