# Kinematic Analysis and Trajectory Planning of the Orthoglide 5-Axis

Stéphane Caro, Damien Chablat, Philippe Lemoine, Philippe Wenger

► To cite this version:

Stéphane Caro, Damien Chablat, Philippe Lemoine, Philippe Wenger. Kinematic Analysis and Trajectory Planning of the Orthoglide 5-Axis. International Design Engineering Technical Conferences & Computers and Information in Engineering Conference, Aug 2015, Boston, United States. 10.1115/DETC2015-46292. hal-01143102

HAL Id: hal-01143102

https://hal.science/hal-01143102

Submitted on 16 Apr 2015

**HAL** is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire **HAL**, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
KINEMATIC ANALYSIS AND TRAJECTORY PLANNING OF THE ORTHOGLIDE
5-AXIS

S. Caro, D. Chablat, P. Lemoine, P. Wenger

Institut de Recherche en Communications et Cybernétique de Nantes (IRCCyN)
(UMR CNRS 6597) France

Email addresses:

{Stephane.Caro, Damien.Chablat, Philippe.Lemoine, Philippe.Wenger}@irccyn.ec-nantes.fr

ABSTRACT

The subject of this paper is about the kinematic analysis and
the trajectory planning of the Orthoglide 5-axis. The Orthoglide
5-axis a five degrees of freedom parallel kinematic machine de-
veloped at IRCCyN and is made up of a hybrid architecture,
namely, a three degrees of freedom translational parallel manip-
ulator mounted in series with a two degrees of freedom parallel
spherical wrist. The simpler the kinematic modeling of the Or-
thoglide 5-axis, the higher the maximum frequency of its control
loop. Indeed, the control loop of a parallel kinematic machine
should be computed with a high frequency, i.e., higher than 1.5
MHz, in order the manipulator to be able to reach high speed
motions with a good accuracy. Accordingly, the direct and in-
verse kinematic models of the Orthoglide 5-axis, its inverse kine-
matic Jacobian matrix and the first derivative of the latter with
respect to time are expressed in this paper. It appears that the
kinematic model of the manipulator under study can be written in
a quadratic form due to the hybrid architecture of the Orthoglide
5-axis. As illustrative examples, the profiles of the actuated joint
angles (lengths), velocities and accelerations that are used in the
control loop of the robot are traced for two test trajectories.

INTRODUCTION

Parallel kinematics machines become more and more pop-
ular in industrial applications.This growing attention is inspired
by their essential advantages over serial manipulators that have

already reached the dynamic performance limits. In con-
trast, parallel manipulators are claimed to offer better accuracy,
lower mass/inertia properties, and higher structural stiffness (i.e.
stiffness-to-mass ratio) [2]. These features are induced by their
specific kinematic architecture, which resists to the error accu-
mulation in kinematic chains and allows convenient actuators lo-
cation close the manipulator base. Besides, the links work in par-
allel against the external force/torque, eliminating the cantilever-
type loading and increasing the manipulator stiffness.

Unlike the Variax proposed by Gidding & Lewis in Chicago
in 1994, the delta robot invented by Clavel [1] has known a great
success for pick and place applications. One reason for this suc-
cess is the simplicity of the kinematic and dynamic models com-
pared to the models of the Gough-Stewart platform [2]. Indeed,
the performance of parallel robots may vary considerably within
their workspace, which is often small compared to the volume
occupied by the machine. It is noteworthy that the inverse kine-
matics of a parallel manipulator is usually easy to calculate when
the actuated joints are prismatic joints as the corresponding equa-
tions to be solved are quadratic. However, the inverse Jacobian
matrix of such manipulators is more difficult to express and its
computing time higher. Several five degrees of freedom (dof)
parallel manipulators have been synthesized in the literature the
last few decades. However, their complexity make them difficult
to build and use in general. Moreover, the use of fully parallel
manipulators leads to robots with five limbs whose mutual col-
lisions or geometric constraints reduce the workspace size. The
Tripteron is one of the simplest translational parallel robot with three degrees of freedom that can be found in the literature [6]. However, this architecture is not suitable for machining operations since its legs are subjected to buckling.

As a consequence, a five dof hybrid machine, named Orthoglide 5-axis, has been developed at IRCCyN. This machine is composed of three dof translational parallel manipulator, named Orthoglide 3-axis, mounted in series with a two dof spherical parallel manipulator, named Agile Eye 2-axis. The Orthoglide 3-axis has the advantages of both serial and parallel kinematic architectures such as regular workspace, homogeneous performances, good dynamic performances and stiffness. The interesting features of the Orthoglide 3-axis are large regular dextrous workspace, uniform kinetostatic performances, good compactness [13] and high stiffness [14]. Besides, the translational and rotational motions of the end-effector (tool) are partially decoupled with the hybrid architecture of the Orthoglide 5-axis.

This paper is organized as follows. The next section deals with the kinematic modeling of the Orthoglide 5-axis. Then, some trajectories are generated using a simplified computed torque control loop and tested experimentally. Finally, some conclusions and future work are presented.

## THE ORTHOGLIDE 5-AXIS
A hybrid architecture

Figure 1 depicts a CAD modeling of the Orthoglide 5-axis and figure 2 shows a semi industrial prototype of the Orthoglide 5-axis located at IRCCyN. The Orthoglide 5-axis is a hybrid parallel kinematics machine (PKM) composed of a 3-dof translational parallel manipulator, the Orthoglide 3-axis, mounted in series with two dof parallel spherical manipulator, the Agile Eye 2-axis. The Agile Eye 2-axis is spherical wrist developed at Laval University [5]. The architecture of the Orthoglide 5-axis was presented in [4] as well as in [9].

<figure><img src="image_2.png" /><figcaption>FIGURE 1. Digital mock-up of the Orthoglide 5-Axis</figcaption></figure>

<figure><img src="image_3.png" /><figcaption>FIGURE 2. Semi industrial prototype of the Orthoglide 5-Axis performing a machining operation</figcaption></figure>

## Orthoglide 3-Axis

The Orthoglide 3-axis is composed of three identical legs. Each leg is made up of a prismatic joint, a revolute joint, a parallelogram joint and another revolute joint. The first joint, i.e., the prismatic joint of each leg, is actuated and the end-effector is attached to the other end of each leg. Hence, the Orthoglide 3-axis is a PKM with movable foot points and constant chain lengths.

The kinematics of the Orthoglide 3-axis was defined in [3]. Let $\rho = [\rho_1 \rho_2 \rho_3]^t$ denote the vector of linear joint variables and $\mathbf{p} = [x y z]^t$ denote the Cartesian coordinate vector of the position of the end-effector. The loop closure of the Orthoglide 3-axis leads to the following three constraint equations:

$$ (x - \rho_1)^2 + y^2 + z^2 = l_1^2 \quad (1) $$

$$ x^2 + (y - \rho_2)^2 + z^2 = l_2^2 \quad (2) $$

$$ x^2 + y^2 + (z - \rho_3)^2 = l_3^2 \quad (3) $$

Therefore, the inverse Jacobian matrix $\mathbf{J}_O^{-1}$ of the Orthoglide 3-axis takes the form:

$$ \mathbf{J}_O^{-1} = \begin{bmatrix} 1 & -\frac{y}{\rho_1 - x} & -\frac{z}{\rho_1 - x} \\ -\frac{x}{\rho_2 - y} & 1 & -\frac{z}{\rho_2 - y} \\ -\frac{y}{\rho_3 - z} & -\frac{z}{\rho_3 - z} & 1 \end{bmatrix} \quad (4) $$

It appears that the Orthoglide 3-axis can have up to two assembly modes, i.e., two solutions to its direct geometric model, and up to eight working modes, i.e., eight solutions to its inverse geometric model. Moreover, those solutions can be easily obtained by solving simple quadratic equations [12]. The lengths of the parallelogram joints and the joint limits were obtained by using the method presented in [8] in order the manipulator to get a cube-shaped translational workspace of 500 mm edge.
## Agile Eye 2-axis

Figure 3 illustrates a spindle mounted on the two dof spherical parallel manipulator, the latter being mounted in series on the Orthoglide 3-axis in order to get the Orthoglide 5-axis. The

<figure><img src="image_4.png" /><figcaption>FIGURE 3. Spindle mounted on the two dof spherical wrist</figcaption></figure>

Agile Eye 2-axis, namely the two dof spherical parallel manipulator, consists of a closed kinematic chain composed of five components: the proximal 1 link, the proximal 2 link, the distal link, the terminal link and the base. These five links are connected by means of revolute joints, the two revolute joints connected to the base being actuated. Let us notice that all revolute joints intersect. The shape of the proximal and distal links were determined in [15] in order the wrist to have a high stiffness.

The kinematics of the Agile eye was defined in [5]. Note that the orientation workspace of the Orthoglide 5-axis is limited to ±45 degrees due to mechanical constraints. For machining operations, the orientation of the tool is defined by two rotation angles α and β rotating respectively around the x and y axes. A IBAG spindle HFK 95.1 is mounted on the spherical wrist. Its power is equal to 1 KW and its maximum speed is equal to 42000 rpm. The distance l between the tool tip and the geometric and rotation center of the wrist should be higher than 72 mm (l > 72mm).

The geometric, kinematic and dynamic models of the Agile Eye 2-axis are given in [7]. Here, its inverse Jacobian matrix is recalled in order to compute the velocity of the geometric center of the wrist with respect to the tool tip and the corresponding actuated prismatic joint rates of the Orthoglide 3-axis.

The Agile Eye admits two assembly modes that are easily obtained and discriminated by solving a quadratic equation. The Cartesian coordinate vector $\mathbf{p}_{tt}$ of the tool tip is expressed as a

function of angles α and β as follows:

$$ \mathbf{p}_{tt} = \begin{bmatrix} -\sin(\beta) \\ \sin(\alpha)\cos(\beta) \\ -\cos(\alpha)\cos(\beta) \end{bmatrix} \qquad (5) $$

The actuated joint angles $\theta_1$ and $\theta_2$ are expressed as a function of angles α and β as follows:

$$ \theta_1 = -\arctan\left(\frac{-\sin(\alpha)\cos(\beta)}{\cos(\alpha)\cos(\beta)}\right) \qquad (6) $$

$$ \theta_2 = \arctan\left(\frac{\sin(\beta)}{\cos(\alpha)\cos(\beta)}\right) \qquad (7) $$

The inverse kinematic Jacobian matrix, $\mathbf{J}_A^{-1}$, of the parallel spherical manipulator is expressed as:

$$ \mathbf{J}_A^{-1} = \begin{bmatrix} 1 & 0 \\ \frac{S\theta_2 S\theta_1 C\beta}{S\beta S\theta_2 + C\theta_1 C\beta C\theta_2} & \frac{S\beta C\theta_1 S\theta_2 + C\theta_2 C\beta}{S\beta S\theta_2 + C\theta_1 C\beta C\theta_2} \end{bmatrix} \qquad (8) $$

where $C\theta_i = \cos(\theta_i)$, $S\theta_i = \sin(\theta_i)$, $C\alpha = \cos(\alpha)$, $S\alpha = \sin(\alpha)$, $C\beta = \cos(\beta)$, $S\beta = \sin(\beta)$ and

$$ \begin{bmatrix} \dot{\theta}_1 \\ \dot{\theta}_2 \end{bmatrix} = \mathbf{J}_A^{-1} \begin{bmatrix} \dot{\alpha} \\ \dot{\beta} \end{bmatrix} \qquad (9) $$

The relation between the Cartesian velocities of the geometric center of the spherical wrist and the output angle rates is given as a function of the tool length l by:

$$ \begin{bmatrix} \dot{x} \\ \dot{y} \\ \dot{z} \end{bmatrix} = \mathbf{J}_C^{-1} \begin{bmatrix} \dot{\alpha} \\ \dot{\beta} \end{bmatrix} \qquad (10) $$

with

$$ \mathbf{J}_C^{-1} = \begin{bmatrix} \frac{y l C \alpha C \beta}{-x + \rho_1} + \frac{z l S \alpha C \beta}{-x + \rho_1} & \frac{l C \beta}{-x + \rho_1} - \frac{y l S \alpha S \beta}{-x + \rho_1} + \frac{z l C \alpha S \beta}{-x + \rho_1} \\ -\frac{l C \alpha C \beta}{-y + \rho_2} + \frac{z l S \alpha C \beta}{-y + \rho_2} & \frac{x l C \beta}{-y + \rho_2} + \frac{l S \alpha S \beta}{-y + \rho_2} + \frac{z l C \alpha S \beta}{-y + \rho_2} \\ \frac{y l C \alpha C \beta}{-z + \rho_3} - \frac{l S \alpha C \beta}{-z + \rho_3} & \frac{x l C \beta}{-z + \rho_3} - \frac{y l S \alpha S \beta}{-z + \rho_3} - \frac{l C \alpha S \beta}{-z + \rho_3} \end{bmatrix} \qquad (11) $$
## Coupling two parallel robots

The assembly of two parallel robots in series leads to a simple kinematic model of the Orthoglide 5-axis. Indeed, the direct kinematics of the latter is obtained by solving first the direct kinematics of the Orthoglide 3-axis in order to get the Cartesian coordinates of the geometric center of the spherical wrist and then by calculating the direct kinematics of the spherical wrist in order to express the pose of the tool. About the inverse kinematics of the Orthoglide 5-axis, the inverse of the spherical wrist is first solved, then the inverse kinematics of the Orthoglide 3-axis is solved. It is noteworthy that a translational motion of the geometric center of the wrist does not change the orientation of the tool. However, a rotation of the tool about its end leads to translational displacement of the geometric center of the spherical wrist and as a result to actuated prismatic joint displacements. The inverse kinematic modeling of the Orthoglide 5-axis is expressed as:

$$ \dot{\mathbf{q}} = \mathbf{J}^{-1}\mathbf{t} \quad (12) $$

where $\dot{\mathbf{q}} = [\dot{\theta}_1 \ \dot{\theta}_2 \ \dot{\rho}_1 \ \dot{\rho}_1 \ \dot{\rho}_1 \ \dot{\rho}_1]^T$ and $\mathbf{t} = [\dot{\alpha} \ \dot{\beta} \ \dot{x} \ \dot{y} \ \dot{z}]^T$. We can describe the inverse Jacobian matrix as three sub-matrices coming from the both parallel robots.

$$ \mathbf{J}^{-1} = \begin{bmatrix} \mathbf{J}_A^{-1} & \mathbf{0}_{2 \times 3} \\ \mathbf{J}_O^{-1} \mathbf{J}_C^{-1} & \mathbf{J}_O^{-1} \end{bmatrix} \quad (13) $$

as is written in 14. Note that the first derivative of $\mathbf{J}^{-1}$ with respect to time can be easily obtained by using a symbolic computation software. However, its expression is too lengthy to be displayed in the paper.

## TRAJECTORY GENERATION

The trajectory planning approach described in [10] has been used for the trajectory generation of the Orthoglide 5-axis. Note that the trajectories are defined in the task space, i.e., the robot workspace, whereas the control loop requires data in the joint space. According the design rules presented in [8], the boundaries of the Orthoglide 3-axis workspace are defined in the Cartesian space. Therefore, the direct kinematics is computed at the frequency of the control loop in order to check whether the moving-platform of the robot is within its Cartesian workspace at anytime or not.

Here, the system dynamics is decoupled in order to consider five separate actuators moving an equivalent mass and analyze the stability of the system. In the robot control scheme, the dynamic effects have been taken into account in order to improve the classical PID control scheme. Therefore, the torque $\Gamma_R$ associated to the rotational motions and the torque $\Gamma_T$ associated to

the translational motions are expressed as follows:

$$ \begin{aligned} \Gamma_R &= J \left( \ddot{\theta}_i + K_{PR} (\theta_i^d - \theta_i) + K_{DR} (\dot{\theta}_i^d - \dot{\theta}_i) + K_{IR} \int_{t_0}^t (\theta_i^d - \theta_i) \right) \\ \Gamma_T &= M \left( \dot{\rho}_j + K_{PT} (\rho_j^d - \rho_j) + K_{DT} (\dot{\rho}_j^p - \dot{\rho}_j) + K_{IT} \int_{t_0}^t (\rho_j^d - \rho_j) \right) \end{aligned} $$

for $i = 1..2$, $j = 1..3$, $J = 0.2772 \text{ Kg.m}^2$, $M = 91.6278 \text{ Kg}$, $\theta_i^d$ and $\dot{\theta}_i^d$ denote the prescribed actuated joint angles and rates. $\theta_i$ and $\dot{\theta}_i$ denote the actual joint angles and rates. The values of coefficients $J$ and $M$ mainly depend on the motor inertia, the gears and the axis of the ball screws. Note that the effect of the inertia and mass of the elements in motion is somehow the corresponding inertia and mass divided by the square of the gearhead ratio. As a result, for the rotational and translational parts, we obtain:

$$ \begin{aligned} \omega &= 49 \text{ rad/s} \\ K_{PR} &= K_{PT} = 3\omega^2 = 19200 \\ K_{VT} &= K_{VT} = 3\omega = 240 \\ K_{IR} &= K_{IT} = \omega^3 = 512000 \end{aligned} \quad (15) $$

where $\omega$ is a function of the torque constant, the dielectric constant, the motor efficiency and its inertia. Figure 4 shows the

<figure><img src="image_5.png" /><figcaption>FIGURE 4. Control scheme of the Orthoglide 5-Axis</figcaption></figure>

control scheme of the Orthoglide 5-Axis.

## Control hardware and control loop

The control hardware of the Orthoglide 5-axis is a 1103 DSPACE card [11] with a 933 MHz PowerPC. The actuator positions are acquired with a frequency equal to 9 kHz and a 200 Hz
$$ J^{-1} = \begin{bmatrix} 1 & 0 & 0 & 0 & 0 \\ \frac{S\theta_2 S\alpha C\beta}{S\beta S\theta_2 + C\alpha C\beta C\theta_2} & \frac{C\alpha S\beta S\theta_2 + C\theta_2 C\beta}{S\beta S\theta_2 + C\alpha C\beta C\theta_2} & 0 & 0 & 0 \\ \frac{yI C\alpha C\beta}{-x + \rho_1} + \frac{zI S\alpha C\beta}{-x + \rho_1} & \frac{I C\beta - \frac{yI S\alpha S\beta}{-x + \rho_1} + \frac{zI C\alpha S\beta}{-x + \rho_1}}{\frac{yI S\alpha C\beta}{-x + \rho_1} + \frac{zI S\alpha C\beta}{-x + \rho_1}} & 1 & -\frac{y}{-x + \rho_1} & -\frac{z}{-x + \rho_1} \\ -\frac{I C\alpha C\beta}{-y + \rho_2} + \frac{zI S\alpha C\beta}{-y + \rho_2} & \frac{xI C\beta}{-y + \rho_2} + \frac{I S\alpha S\beta}{-y + \rho_2} + \frac{zI C\alpha S\beta}{-y + \rho_2} & \frac{x}{-y + \rho_2} & 1 & -\frac{z}{-y + \rho_2} \\ \frac{yI C\alpha C\beta}{-z + \rho_3} - \frac{I S\alpha C\beta}{-z + \rho_3} & -\frac{xI C\beta}{-z + \rho_3} - \frac{yI S\alpha S\beta}{-z + \rho_3} - \frac{I C\alpha S\beta}{-z + \rho_3} & \frac{x}{-z + \rho_3} & \frac{y}{-z + \rho_3} & 1 \end{bmatrix} \quad (14) $$

low pass filter is used to compute the actuator velocities. The robot motions are controlled thanks to a sub program working at 1.5 KHz. This program manages the control loop, the input/output relation and the security system. For instance, if the positional error of the end-effector is larger than 3 mm, the machine will shutdown. Another level of security is on the actuators with electrical sensors stroke end. If enabled, neither the PC nor the Dspace card operates, it amounts to the cable security. The robot trajectories are calculated using Matlab and sent to the Dspace card via an optical fiber. In the Dspace card, the inverse Jacobian matrix is used when the robot is close to its workspace boundaries in order to know whether the Cartesian displacements of the end-effector lead to exceeding joint limits or not.

A pneumatic compensator is mounted along the vertical axis in order to reduce the gravity effect. This compensator continuously generates an effort equivalent to the weight of the mobile platform, but in the opposite direction. The pressure in the cylinders is controlled by a purely mechanical system.

Two types of motor are used for the actuated joints. Two Harmonic Drive FFA-20-80-H-E2048 are used to actuate the two-dof parallel spherical wrist and three Parvex Brushless NX430EAF coupled with Kinetic TDU 200 ball screws are used to actuate the three-dof translational parallel manipulator. As a consequence, the Orthoglide 5-axis can reach linear velocities up to 1 m/s and a linear accelerations up to 1 G.

Note that the maximum angular velocity of the wrist motors is equal to 3.27 rad/s and their maximum angular accelerations is equal to 270 rad/s². The maximum linear velocity of the prismatic joints is equal to 1.2 m/s due to mechanical constraints and their maximum acceleration is equal to 13 m/s² due to the value of the maximum continuous torques.

## Trajectories

Three types of trajectories can be realized by the Orthoglide 5-axis:

1. The first trajectory is a linear interpolation between two positions defined by two angles $\alpha$ and $\beta$ and by three Cartesian coordinates $x$, $y$ and $z$ for which we can specify a velocity smaller than the maximum velocity, namely, a ratio of the maximum velocity.

2. The second trajectory is a circle defined by a center point, a radius and a percentage of the maximum speed. The orientation of the spindle is changing linearly around the circle.

3. The last trajectory is described by a G-code file. So far, only G00 and G01 functions have been implemented. The trajectory planner aims to keep the velocity between two postures constant. Some corners were added in order to smooth the path and avoid robot breaks. The radii of corner curvature are defined in order to use acceleration capacity of the machine optimally and to minimize robot speed reduction.

For all trajectories, a linear trajectory is automatically added between the current pose of the robot and its the starting point of the trajectory. Another linear trajectory between the final point of the trajectory and the current pose in order to close the loop. For safety reason, the actual speed is limited to 10% of the maximal speed during all trajectories.

For the first two types of trajectory, a fifth degree polynomial equation is used to define the position $r$, the velocity $\dot{r}$ and the acceleration $\ddot{r}$ along a linear interpolation:

$$ r(t) = 10 \left(\frac{t}{t_f}\right)^3 - 15 \left(\frac{t}{t_f}\right)^4 + 6 \left(\frac{t}{t_f}\right)^5 \quad (16) $$

$$ \dot{r}(t) = 30 \left(\frac{t^2}{t_f^3} - 60 \left(\frac{t^3}{t_f^4}\right) + 30 \left(\frac{t^4}{t_f^5}\right)\right) \quad (17) $$

$$ \ddot{r}(t) = 60 \left(\frac{t}{t_f^3}\right) - 180 \left(\frac{t^2}{t_f^4}\right) + 120 \left(\frac{t^3}{t_f^5}\right) \quad (18) $$

A computed torque control in the joint space is used. Therefore, the trajectory to be followed is projected into the robot joint space by using the inverse geometric model of the Orthoglide 5-axis, the inverse kinematic Jacobian matrix $J^{-1}$ and its first time derivative $\dot{J}^{-1}$, in order to know whether the maximum motor velocities and accelerations are reached or not.
## Linear trajectory

The computing traveling time depends on the total distance between the two robot poses. The minimum traveling time $t_f$ is defined as:

$$t_f = \max \left( \frac{|D_T|}{k_{V_T}}, \frac{|D_R|}{k_{V_R}} \right) \qquad (19)$$

where $|D_T|$ is the norm of the Cartesian motion, $|D_R|$ is the norm of the angular motion, $k_{V_T}$ and $k_{V_R}$ are the maximum linear and angular velocities. We can notice that these parameters are defined in the Cartesian workspace and will be larger if the maximum joint velocity and acceleration are exceeded. Let $\mathbf{P}_1$ and $\mathbf{P}_2$ be the vectors defining the first pose and second pose of the robot end-effector, respectively. Any intermediate pose $\mathbf{P}$ is defined as:

$$\mathbf{P}(t) = \mathbf{P}_1 + (\mathbf{P}_2 - \mathbf{P}_1)\mathbf{r}(t) \qquad (20)$$

The velocity vector $\mathbf{V}(t)$ is expressed as:

$$\mathbf{V}(t) = \dot{\mathbf{r}}(t)(\mathbf{P}_2 - \mathbf{P}_1) \qquad (21)$$

The acceleration vector $\mathbf{A}(t)$ takes the form:

$$\mathbf{A}(t) = \ddot{\mathbf{r}}(t)(\mathbf{P}_2 - \mathbf{P}_1) \qquad (22)$$

The corresponding joint coordinate vector is obtained by:

$$\mathbf{q}(t) = \mathbf{f}(\mathbf{P}(t)) \qquad (23)$$

with $\mathbf{f}$ denotes the inverse geometric model of the Orthglide 5-axis. The joint velocities are computed with the inverse kinematic Jacobian matrix $\mathbf{J}^{-1}$ as:

$$\dot{\mathbf{q}}(t) = \mathbf{J}^{-1}\mathbf{V}(t) \qquad (24)$$

The joint acceleration by using the inverse Jacobian matrix and its first derivation $\dot{\mathbf{J}}^{-1}$

$$\ddot{\mathbf{q}}(t) = \mathbf{J}^{-1}\mathbf{A}(t) + \dot{\mathbf{J}}^{-1}\mathbf{V}(t) \qquad (25)$$

Table 1 defines a trajectory where the maximum velocity and acceleration are requested between pose $\mathbf{P}_2$ and pose $\mathbf{P}_3$ (1.2 m/s and 1.2 G).

Figures 5, 6 and 7 show the position, velocity and acceleration profiles between $\mathbf{P}_1$ to $\mathbf{P}_2$ and $\mathbf{P}_2$ to $\mathbf{P}_3$ in the Cartesian

<table><caption>TABLE 1. Set of Orthoglide 5-axis end-effector poses used to define three linear trajectories</caption><thead><tr><th></th><th>P<sub>1</sub></th><th>P<sub>2</sub></th><th>P<sub>3</sub></th><th>P<sub>4</sub></th></tr></thead><tbody><tr><td>α[degrees]</td><td>0</td><td>20</td><td>0</td><td>0</td></tr><tr><td>β[degrees]</td><td>0</td><td>0</td><td>20</td><td>0</td></tr><tr><td>x[mm]</td><td>0</td><td>140</td><td>-240</td><td>0</td></tr><tr><td>y[mm]</td><td>0</td><td>130</td><td>-230</td><td>0</td></tr><tr><td>z[mm]</td><td>-72</td><td>60</td><td>-180</td><td>-72</td></tr></tbody></table>

<figure><img src="image_6.png" /></figure>

<figure><img src="image_7.png" /><figcaption>(a) $\mathbf{P}_1$ to $\mathbf{P}_2$</figcaption></figure>

<caption>(b) $\mathbf{P}_2$ to $\mathbf{P}_3$</caption>

<figure><img src="image_8.png" /><figcaption>FIGURE 5. Wrist angle and position of the end-effector along the linear trajectory</figcaption></figure>

<figure><img src="image_9.png" /><figcaption>(a) $\mathbf{P}_1$ to $b f \mathbf{P}_2$</figcaption></figure>

<caption>(b) $\mathbf{P}_2$ to $\mathbf{P}_3$</caption>

<caption>FIGURE 6. Wrist angle velocity and velocity of the end-effector along the linear trajectory</caption>

space, respectively. Note that the trajectory between poses $\mathbf{P}_3$ and $\mathbf{P}_4$ is not depicted as it amounts to the one between poses $\mathbf{P}_1$ and $\mathbf{P}_2$.

We can observe that the maximum velocity is reached between poses $\mathbf{P}_3$ and $\mathbf{P}_4$. It means that the projection in the joint space of the maximum speed is not greater than the maximum velocity or maximum acceleration able to be produced by the ball-screws.

Figures 8 and 9 show the joint positions and joint velocities
<figure><img src="image_10.png" /><figcaption>**FIGURE 7.** Wrist angle acceleration and acceleration of the end-effector along the linear trajectory</figcaption></figure>

along the three linear trajectories.

<figure><img src="image_11.png" /><figcaption>**FIGURE 8.** Joint values along the complete linear trajectory</figcaption></figure>

## Circular trajectory

Table 2 describes the path associated with a circular trajectory, the geometric center of the circle being point $P_C$ and its radius is equal to $R$. Poses $P_2$ and $P_3$ are added before and after the circular trajectory, respectively. These poses are defined by the radius of the circle, the two angles $\eta_{min}$ and $\eta_{max}$ define both the ends of the arc of circle. Thus, from pose $P_1$ to pose $P_2$ and from pose $P_3$ to pose $P_4$, a linear trajectory is generated. The orientation of the circular path is characterized by two angles $\alpha_1$ and $\beta_1$ about the z and y axes, respectively. $A_2$ and $B_2$, ($A_3$ and $B_3$, resp.) define the orientation of the tool tip for poses $P_2$ and $P_3$. For the illustrative example, $R = 30$mm and $A_2 = 20$, $B_2 = 0$, $A_3 = 0$ and

<figure><img src="image_12.png" /><figcaption>**FIGURE 9.** Joint velocities along the complete linear trajectory</figcaption></figure>

<table><caption>**TABLE 2.** Set of Orthoglide 5-axis end-effector poses used to define two linear trajectories and one circular trajectory</caption><thead><tr><th></th><th>P<sub>1</sub></th><th>P<sub>C</sub></th><th>P<sub>4</sub></th></tr></thead><tbody><tr><th>α[degrees]</th><td>0</td><td>0</td><td>0</td></tr><tr><th>β[degrees]</th><td>0</td><td>0</td><td>0</td></tr><tr><th>x[mm]</th><td>0</td><td>10</td><td>0</td></tr><tr><th>y[mm]</th><td>0</td><td>10</td><td>0</td></tr><tr><th>z[mm]</th><td>-72</td><td>10</td><td>-72</td></tr></tbody></table>

$B_3 = 20$ degrees.

The local coordinate vector $\mathbf{X}_1$ of the end-effector is defined as:

$$ \mathbf{X}_1 = \begin{bmatrix} x_l \\ y_l \\ z_l \end{bmatrix} = \begin{bmatrix} R \cos(\eta_{min} + \Delta\eta r(t)) \\ R \sin(\eta_{min} + \Delta\eta r(t)) \\ 0 \end{bmatrix} \quad (26) $$

Its global coordinate vector $\mathbf{X}_g$ is defined as:

$$ \mathbf{X}_g = \mathbf{P}_C + \mathbf{R}(\alpha_1)\mathbf{R}(\beta_1)\mathbf{X}_1 \quad (27) $$

The pose of the tool is then defined as:

$$ \mathbf{P}(\mathbf{t}) = \begin{bmatrix} A_2 + (A_3 - A_2)r(t) \\ B_2 + (B_3 - B_2)r(t) \\ x_C + x_g \\ y_C + y_g \\ z_C + z_g \end{bmatrix} \quad (28) $$
The local velocity is:

$$ \dot{\mathbf{X}}_l = \begin{bmatrix} \dot{x}_l \\ \dot{y}_l \\ \dot{z}_l \end{bmatrix} = \begin{bmatrix} -R\sin(\eta_{min} + \Delta\eta r(t))\dot{r}(t)\Delta\eta \\ R\cos(\eta_{min} + \Delta\eta r(t))\dot{r}(t)\Delta\eta \\ 0 \end{bmatrix} \quad (29) $$

And its velocity $\dot{\mathbf{X}}_g$ in the global reference frame is

$$ \dot{\mathbf{X}}_g = \mathbf{R}(\alpha_1)\mathbf{R}(\beta_1)\dot{\mathbf{V}}_1 \quad (30) $$

The velocity is then defined as

$$ \mathbf{V}(t) = \begin{bmatrix} (A_3 - A_2)\dot{r}(t) \\ (B_3 - B_2)\dot{r}(t) \\ \dot{x}_g \\ \dot{y}_g \\ \dot{z}_g \end{bmatrix} \quad (31) $$

Finally, the local acceleration is

$$ \dot{\mathbf{X}}_l = \begin{bmatrix} \ddot{x}_l \\ \ddot{y}_l \\ \ddot{z}_l \end{bmatrix} = \begin{bmatrix} -R((\dot{r}(t)\Delta\eta)^2 \cos(\gamma) + \ddot{r}(t)\Delta\eta \sin(\gamma)) \\ R(-((\dot{r}(t)\Delta\eta)^2 \sin(\gamma) + \ddot{r}(t)\Delta\eta \cos(\gamma)) \\ 0 \end{bmatrix} \quad (32) $$

with $\gamma = \eta_{min} + \Delta\eta r(t)$. And the acceleration $\ddot{\mathbf{X}}_g$ in the global reference frame is

$$ \ddot{\mathbf{X}}_g = \mathbf{R}(\alpha_1)\mathbf{R}(\beta_1)\dot{\mathbf{A}}_1 \quad (33) $$

The acceleration is then defined as

$$ \mathbf{A}(t) = \begin{bmatrix} (A_3 - A_2)\ddot{r}(t) \\ (B_3 - B_2)\ddot{r}(t) \\ \ddot{x}_g \\ \ddot{y}_g \\ \ddot{z}_g \end{bmatrix} \quad (34) $$

Figures 13 and 14 show the joint positions and joint velocities for the complete circular trajectory. During the circular trajectory, the maximum joint acceleration is reached and led to a maximum speed reduction. In that case, the execution time of the complete trajectory is increased. Then, the coefficient: $\gamma_V$ which is the ratio of the maximum joint velocity to the speed of the associated motor and $\gamma_A$ which is the ratio of the maximum joint acceleration to the acceleration of the associated motor are computed. As a result, the traveling time becomes larger and the maximum Cartesian velocity decreases up to 0.6 m/s.

$$ t_f = t_f \max(\gamma_V, \sqrt{\gamma_A}) \quad (35) $$

<figure><img src="image_13.png" /><figcaption>FIGURE 10. Wrist angle and position of the end-effector along the circular trajectory</figcaption></figure>

<figure><img src="image_14.png" /><figcaption>FIGURE 11. Wrist angle velocity and velocity of the end-effector along the circular trajectory</figcaption></figure>

<figure><img src="image_15.png" /><figcaption>FIGURE 12. Wrist angle acceleration and acceleration of the end-effector along the circular trajectory</figcaption></figure>

## Evaluation of the Orthoglide 5-axis performance

Figures 15 and 16 show the joint position errors along the complete trajectories. It appears that a simple control loop is enough when the velocity is low as the corresponding maximum error in the actuated prismatic lengths is equal to 0.2 mm. The maximum error is reached during the linear trajectory 0.7 mm, when the maximum velocity is reached.
<figure><img src="image_16.png" /><figcaption>FIGURE 13. Joint values along the complete circular trajectory</figcaption></figure>

<figure><img src="image_17.png" /><figcaption>FIGURE 14. Joint velocities along the complete circular trajectory</figcaption></figure>

Figure 17 gives the execution time for both trajectories. We can notice that the time is stable and close to 10 µs. This time includes the computation of the velocity, the direct kinematics and the control loop. As we have a real-time operating system, we have also data to send to the computer in which we have the Control Desk software able to make data acquisitions. Figure 18 shows the control signal sent to the drive. The variation is between -1 and 1, which amount to the maximum continuous torques that each motor may produce. For an acceleration equal to 1.3 G, it is 80% of the maximum motor torque for the 3rd and 4th motors. As a consequence, we expect to increase the efficiency of the control loop later on by using a part of peak torques

<figure><img src="image_18.png" /><figcaption>FIGURE 15. Joint angles and position errors along the complete linear trajectory</figcaption></figure>

<figure><img src="image_19.png" /><figcaption>FIGURE 16. Joint angles and position errors along the complete circular trajectory</figcaption></figure>

in order to reach higher accelerations.

## CONCLUSIONS

This paper dealt with the kinematic modeling of the Orthoglide 5-axis and its use for a computed torque control of the semi-industrial prototype. From the semi-industrial prototype developed at IRCCyN, we studied the use of this model for generating movements. We have shown that unlike most of the parallel kinematics machines, the kinematics of the Orthoglide 5-axis
<figure><img src="image_20.png" /><figcaption>**FIGURE 17.** Execution time for (a) the linear trajectory and (b) the circular trajectory</figcaption></figure>

<figure><img src="image_21.png" /><figcaption>**FIGURE 18.** Percentage of the motor torques sent to the drives (a) the linear trajectory and (b) the circular trajectory</figcaption></figure>

is rather simple. It was shown that the expressions of the geometric models and inverse Jacobian matrices are simple to express. The assembly of two parallel robots leads to an inverse kinematic Jacobian matrix composed of three blocks, the inverse kinematic Jacobian matrix of each robot and one additional block corresponding to the coupling between the two parallel robots. For performing computed torque control, we have generated a set of combining positions, velocities and accelerations of the actuators that are sent to the control loop. Two types of trajectories were studied and validated experimentally. We have shown that for linear motions of up to 1 m / s, the tracking error in the actuator position is lower than one millimeter. Experiments are ongoing to refine the estimate of the masses and inertia in motion and to identify the friction parameters.

## ACKNOWLEDGMENT

The work presented in this paper was partially funded by the Region "Pays de la Loire", the European projects NEXT ("Next Generation of Productions System") and by the FEDER Robotic Project of IRCCyN.

## REFERENCES

[1] R. Clavel, "DELTA, a Fast Robot with Parallel Geometry," Pro. Of the 18th Int. Symp. of Robotic Manipulators, IFR Publication, pp. 91-100, 1988.

[2] J-P. Merlet, "Parallel robots," Springer, 2nd edition, ISBN 978-1-4020-4133-4, 2006.

[3] P. Wenger, D. Chablat, "Kinematic Analysis of a New Parallel Machine Tool: the Orthoglide," 7th International Symposium on Advances in Robot Kinematics, Slovenia, June 2000.

[4] R. Ur-Rehman, S. Caro, D. Chablat, P. Wenger, "Kinematic and Dynamic Analyses of the Orthoglide 5-axis," 7th France-Japan/ 5th Europe-Asia Congress on Mechatronics, Le Grand-Bornand, France, May 21-23, 2008.

[5] C. Gosselin, and J.F. Hamel, "The agile eye: a high performance three-degree-of-freedom camera-orienting device," IEEE Int. conference on Robotics and Automation, San Diego, 1994, pp. 781-787.

[6] C. Gosselin, X. Kong, "Cartesian parallel manipulators," US Patent 6729202 B2, May 4, 1994.

[7] F. Caron, "Analyse et conception d'un manipulateur parallèle sphérique deux degrès de liberté pour l'orientation d'une caméra," M.Sc., Université Laval, Québec, 1997.

[8] D. Chablat, and P. Wenger, "Architecture Optimization, of a 3-DOF Parallel Mechanism for Machining Applications, The Orthoglide," IEEE Trans. on Robotics and Automation 19, 2003, pp.403410.

[9] D. Chablat and P. Wenger, "Device for the movement and orientation of an object in space and use thereof in rapid machining," European Patent 1597017, Sept. 6, 2006.

[10] W. Khalil, E. Dombre, "Modeling, Identification and Control of Robots," HPS, Butterworth Heinemann, ISBN 9781903996133, 2002.

[11] Dspace, "dSPACE - DS1103 PPC Controller Board", from www.dspace.com/en/pub/home/products/hw/singbord/ ppcconbo.cfm, Retrieved January 21, 2015.

[12] A. Pashkevich, D. Chablat and P. Wenger, "Kinematics and Workspace Analysis of a Three-Axis Parallel Manipulator: the Orthoglide", Robotica, Volume 24, Issue 1, pp. 39-49, January 2006.

[13] A. Pashkevich, P. Wenger and D.Chablat, "Design Strategies for the Geometric Synthesis of Orthoglide-type Mechanisms," Journal of Mechanism and Machine Theory, Vol. 40(8), 2005, pp. 907-930.

[14] A. Pashkevich, D. Chablat and P. Wenger, "Stiffness Analysis of 3-d.o.f. Overconstrained Translational Parallel Manipulators," Proc. IEEE Int. Conf. Rob. and Automation, May 2008.

[15] D. Chablat, and P. Wenger, "A six degree of freedom Haptic device based on the Orthoglide and a hybrid Agile Eye," 30th Mechanisms & Robotics Conference (MR), Philadelphia, USA, 2006.