# Modélisation adaptée pour une simulation interactive d'un actionneur hydraulique

Pierre Joli, Zhi-Qiang Feng

► To cite this version:

Pierre Joli, Zhi-Qiang Feng. Modélisation adaptée pour une simulation interactive d'un actionneur hydraulique. 7e colloque national en calcul des structures, CSMA, May 2005, Giens, France. hal-01812967

HAL Id: hal-01812967

https://hal.science/hal-01812967v1

Submitted on 12 Jun 2018

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished 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 CC0 1.0 - Universal - International License
# Modélisation adaptée pour une simulation interactive d'un actionneur hydraulique

Pierre Joli*, Zhi-Qiang Feng**

*Laboratoire Systèmes Complexes
Université d'Evry Val d'Essonne
40 rue du Pelvoux, 91020 Evry, France
pjoli@iup.univ-evry.fr

**Laboratoire de Mécanique et Energétique d'Evry
Université d'Evry Val d'Essonne
40 rue du Pelvoux, 91020 Evry, France
e-mail: feng@iup.univ-evry.fr

RÉSUMÉ Dans ce papier est présenté une modélisation d'un actionneur hydraulique continûment déformable composé de trois soufflets métalliques en parallèle, ayant pour but de courber un cathéter (chirurgie mini-invasive). Pour réduire le coût numérique de la simulation, nous proposons une modélisation adaptée dans laquelle chaque soufflet est modélisé à partir de coordonnées relatives à la manière d'un système multi-corps. Le principe de base est un algorithme de « collage » reformulant les équations de contraintes algébriques à partir de la matrice de flexibilité tangente $K^{-1}$ du système et conduisant ainsi à la résolution d'un nombre réduit d'équations. De plus $K^{-1}$ étant construite à partir d'une formulation « récurrence arrière », le coût numérique globale n'évolue que linéairement en fonction du nombre de DDL.

ABSTRACT. In this paper is presented a modelling of continuum elastic hydraulic actuator to bend a catheter (mini-invasive surgery). It is composed of three parallel metallic bellows. To reduce the numerical task of simulation, we propose an adapted modelling in which each bellow is modelled with relative coordinates as a multibody system. The basic principle is a gluing algorithm from which the algebraic constraint equations are reformulated by using tangent flexibility matrix $K^{-1}$ of the system, the number of equations to be solved is thus reduced. Moreover the numerical task is only a linear function of the number of DOF because $K^{-1}$ is built by a backward formulation.

MOTS-CLÉS : actionneur compliant, actionneur hydraulique, prototypage interactif, formulation récursive, technique de condensation, chirurgie mini-invasive.

KEYWORDS: Elastic actuator, Hydraulic actuator, Interactive design, gluing algorithm, mini-invasive surgery
# 1. Introduction

Nous proposons ici, l'étude d'un actionneur hydraulique déformable, composé de trois soufflets métalliques disposés parallèlement et dont les extrémités forment un triangle équilatéral. Les trois soufflets sont encastrés entre deux supports cylindriques (diamètre 5,3 mm). Un moment de flexion est crée lorsque les valeurs des pressions sont différentes à l'intérieur de chaque soufflet permettant ainsi de courber un cathéter ou un endoscope [JOL 02], [THO 03]. Du fait de l'absence de partie rigide, cette actionneur appartient à la catégorie des actionneurs continûment déformable. Il est assez difficile de simuler en grand déplacement ce type de structure car la réponse du système est fortement non linéaire même si les déformations demeurent purement élastiques. La complexité numérique du modèle

est augmentée par le fait qu'il faut un nombre de degrés de liberté important pour simuler correctement les déplacements.

Dans ce papier est présenté une modélisation, de cet actionneur, adaptée à un prototypage virtuel interactif. L'objectif est de mettre au point une application logicielle spécifique permettant de réinitialiser facilement les paramètres de calcul du modèle et d'avoir des phases de calculs instantanées afin de concevoir rapidement un premier prototype virtuel. Pour réduire le coût numérique, chaque soufflet est modélisé séparément comme un système multi-corps composé d'articulations élastiques dont les coordonnées relatives sont calculées par une formulation « récurrence arrière » [FEA 99]. Le modèle de chaque soufflet étant non linéaire, on calcule à chaque itération par récurrence arrière leur matrice de flexibilité tangente associée. On reformule les équations des contraintes géométriques en fonction des forces de réaction entre les trois soufflets et le support cylindrique en mouvement. Cette formulation algorithmique est une extension à un problème non linéaire de la formulation d'un algorithme de « collage » présenté dans [TSE 03].

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

# 2. Modélisation d'un soufflet

Un soufflet est modélisé par un ensemble *n* sections circulaires dont les mouvements relatifs sont décrits ci-dessous (Fig. 1). Les deux rotations correspondent aux déformations induites par le moment de flexion. La translation correspond aux déformations induites par la force de traction/compression. Les distorsions angulaires dues à l'effort tranchant sont négligées devant les déformations précédentes. $q_i^T = (\alpha_i, \beta_i, \delta_i)$ représentent les coordonnées articulaires associées à chaque section circulaire *i*. On fait correspondre une raideur de traction $K_i$ à $\delta_i$ et une raideur de flexion $K_f$ à $(\alpha_i, \beta_i)$. Ces raideurs peuvent être
déterminées à partir de $k_i$ et $k_f$ respectivement les raideurs de traction et de flexion d'une ondulation, données fournies par le fabricant.

<figure><img src="image_3.png" /><figcaption>**Figure 1.** Soufflet de longueur L modélisé par n sections circulaires</figcaption></figure>

Les équations d'équilibre du système { section i ... section n } donnent :

$$
\left\{
\begin{array}{l}
\vec{R}_{ext} + \vec{R}_{(i-1)i} = \vec{0} \\
\\
\vec{M}_{ext}(O_i) + \vec{M}_{(i-1)i} = \vec{0}
\end{array}
\right.
\quad \text{avec} \quad
\left\{
\begin{array}{l}
\vec{R}_{(i-1)i} \cdot \vec{z}_{i-1} = -K_t (\delta_i - \delta_i^*); \quad \vec{M}_{(i-1)i} \cdot \vec{x}_{i-1} = -K_f \alpha_i \\
\\
\vec{M}_{(i-1)i} \cdot \vec{y}_i = -K_f \beta_i
\end{array}
\right.
\qquad [1]
$$

On pose $\{T_i\}^T = (\{\vec{R}_{ext}\}_i^T \{\vec{M}_{ext}(O_i)\}_i^T)$ qui représentera par le suite l'action mécanique du support cylindrique mobile sur le soufflet. Du fait de la non linéarité géométrique, les efforts $\{T_i\}$ sont calculés itérativement à partir d'une formulation incrémentale : $\{T_i\}^{k+1} = \{T_i\}^k + \{dT_i\}$ et $q_i^{k+1} = q_i^k + dq_i$;

Ce qui donne, après calculs, une relation algébrique du type :

$$
\{dq_i\} = [D]^{-1} \left( [J(i/i-1)]^T \{dT_i\} + [C_i] \{dT_i\} \right). \quad [2]
$$

Pour plus de détails se référer à [JOL 04].

En utilisant alors la propriété de transport des moments, on obtient une relation
algébrique du type : $\{d\mathcal{I}_{i-1}\} = {}^{i-1}[L_T]_i \{d\mathcal{I}_i\}$;

Et par récurrence arrière $\{d\mathcal{I}_{i-1}\} = {}^{i-1}[L_T]_n \{d\mathcal{I}_n\}$ avec $\stackrel{i-1}{[L_T]} = \stackrel{i-1}{[L_T]}_i \stackrel{i}{[L_T]}_{i+1} \cdots \stackrel{n-1}{[L_T]}_n$

$$
\text{Finalement, on obtient la relation: } \{dq_i\} = [D]^{-1} \left( [J(i/i-1)]^{Ti} [L_T]_n + [C_i]^T [L_T]_n \{dT_n\} \right) \quad [3]
$$

Le champ des petits déplacements entre deux sections circulaires est défini par :

$$
\left\{
\begin{array}{l}
d O_{i-1} \rightarrow O_i = dx_i \bar{x}_i + dy_i \bar{y}_i + dz_i \bar{z}_i = d \delta_i \bar{z}_{i-1} \\
d \bar{\Theta}(i/i-1) = d \Theta_x^i \bar{x}_i + d \Theta_y^i \bar{y}_i + d \Theta_z^i \bar{z}_i = d \alpha_i \bar{x}_{i-1} + d \beta_i \bar{y}_i \\
\Leftrightarrow \{dU_{i/i-1}\}^T = [J(i/i-1)] \{dq_i\} \quad \text{avec} \quad \{dU_{i/i-1}\}^T = (du_i^T d\Theta_i^T);
\end{array}
\right.
\qquad [4]
$$

En utilisant le modèle statique défini précédemment, on obtient :

$$
\{dU_{i/i-1}\} = [K_i]^{-1} \{dT_i\} ; [K_i]^{-1} = [J_{i/i-1}^*] + [C_i^*] \qquad [5]
$$

$$
\begin{bmatrix} J^*_{i/i-1} \end{bmatrix} = [J(i/i-1)][D]^{-1}[J(i/i-1)]' ; \begin{bmatrix} C_i^* \end{bmatrix} = [J(i/i-1)][C_i] \\
[K_i] \text{ représente la matrice de raideur tangente élémentaire.}
$$
$$
\{dU_{n/0}\} = \{dU_{n/(n-1)}(O_n)\} + \{dU_{n-1/(n-2)}(O_n)\} + \dots + \{dU_{1/0}(O_n)\}
$$

$$
\{dU_{n/0}\} = \{dU_{n/(n-1)}\} + {}^{n}[L_U]_{n-1} \{dU_{n-1/(n-2)}\} + \dots + {}^{n}[L_U]_1 \{dU_{1/0}\}
$$

$$
\text{avec } {}^{n}[L_U]_i = {}^{n}[L_U]_{n-1} {}^{n-1}[L_U]_{n-2} \cdots {}^{i+1}[L_U]_i = ({}^{i}[L_T]_n)^T
$$

$$
\text{Finalement, on obtient la relation: } \{dU_{n/0}\} = [K_S]^{-1} \{dT_n\} \quad [6]
$$

$$
[K_S]^{-1} = ([K_n]^{-1} + {}^n[L_T]^T {}_{n-1}^{T}[K_{n-1}]^{-1} {}^{n-1}[L_T]_n + \dots + {}^n[L_T]^T {}_1^{T}[K_1]^{-1} {}^{1}[L_T]_n)
$$

$[K_S]^{-1}$ est la **matrice de flexibilité tangente du soufflet**, elle peut être construite
de manière récursive.

3. Modélisation de l'actionneur

Soit $R_0 : (O_0, \vec{x}_0, \vec{y}_0, \vec{z}_0)$ le repère situé au centre du support cylindrique fixe et $R_{ni} : (O_{ni}, \vec{x}_i, \vec{y}_i, \vec{z}_i) (i = a, b, c)$ les repères sur les extrémités mobiles des soufflets $S_a, S_b, S_c$. Les équations d'équilibre statique du support cylindrique mobile $S$ sont définies par :

$$
\{T(\text{fluide} \to S)\} - \{T(S \to S_a)\} - \{T(S \to S_b)\} - \{T(S \to S_c)\} = \{0\} \quad [7]
$$

En projetant dans le repère attaché à un soufflet (par ex. $R_{na}$) et en utilisant comme
point de référence l'origine de ce repère (par ex. $O_{na}$), on obtient la forme algébrique
suivante des équations d'équilibre : $\{T_{na}\} = -[b] \cdot \{T_{nb}\} - [c] \cdot \{T_{nc}\} + \{T_f\}$

La pression hydraulique à l'intérieur des trois soufflets $S_a, S_b, S_c$ crée une action mécanique définie par :

$$
\{T_f\} = \{T_{fa}\} + [b] \cdot \{T_{fb}\} + [c] \cdot \{T_{fc}\} \quad [8]
$$

$$
\{T_{fi}\}^T = (\{\vec{R}_{fi}\}^T \{\vec{0}\}^T); \vec{R}_{fi} = p_i S \vec{z}_i; p_i \text{ représente la pression hydraulique à l'intérieur du soufflet } S_i \text{ de section } S.
$$

Les repères $R_{ni}$ doivent rester parallèles entre eux ce qui induit six contraintes
algébriques sur les incréments de rotation :

$$
\{d \Phi_r\} = 0; \{d \Phi_r\} = \left\{ \begin{matrix} \{d \Phi_{rb}\} \\ \{d \Phi_{rc}\} \end{matrix} \right\}; \{d \Phi_{ri}\} = \{d \Theta_{ni}\} - \{d \Theta_{na}\}
$$

$$
\{d \Phi_r\} = [J_r]\{dU\}; [J_r] = \begin{bmatrix} -[kd] & 0 & [kd] & 0 & 0 \\ -[kd] & 0 & 0 & 0 & [kd] \\ [kd] & 0 & 0 & 0 & [kd] \\ [kd] & 0 & 0 & 0 & [kd] \\ [kd] & 0 & 0 & 0 & [kd] \end{bmatrix}; \{dU\} = \begin{bmatrix} \{dU_{na}\} \\ \{dU_{nb}\} \\ \{dU_{nc}\} \end{bmatrix}; \quad [9]
$$

Les repères $R_{na}$, $R_{nb}$, $R_{nc}$ se déplacent suivant un mouvement de corps rigide ce
qui entraîne six contraintes algébriques supplémentaires :
$$
\{d\Phi_t\} = 0; \{d\Phi_t\} = \begin{cases} \{d\Phi_{tb}\} \\ \{d\Phi_{tc}\} \end{cases}; \{d\Phi_{ti}\} = \{du_{ni}\} - \{du_{na}\} - [i]^T \{d\Theta_{ni} - d\Theta_{na}\}
$$

$$
\{d\Phi_t\} = [J_t]\{dU\} \text{ avec } [J_t] = \begin{bmatrix} -[Id] & [b]^T & [Id] & 0 & 0 & 0 \\ -[Id] & [c]^T & 0 & 0 & [Id] & 0 \end{bmatrix} \quad [10]
$$

4. Principe de l’algorithme : « gluing algorithm »

Les efforts de réaction des soufflets sur le support cylindrique mobile doivent
vérifier les équations d'équilibre :

$$
\begin{align*}
\{T_a\} = \{T_f\} - [b]\{T_b\} - [c]\{T_c\} &\Rightarrow \{dT_a\} = -([b]\{dT_b\} + [c]\{dT_c\}) \\
&\Leftrightarrow \{dT\} = [G]\begin{Bmatrix} \{dT_b\} \\ \{dT_c\} \end{Bmatrix} = [G]\{dT\}
\end{align*}
$$

ainsi que les contraintes algébriques : {dΦ} = 0; {Φ}^T = ({dΦ_r}^T {dΦ_i}^T);

$$
\begin{align*}
& \{d\Phi\} = [J]^T \{dU\}; \quad [J]^T = [[J_r]^T & [J_r]^T] \\
& \Rightarrow \{d\Phi\} = [J][K^{-1}] \{dT\} \qquad [K^{-1}] = \begin{bmatrix} [K_{Sa}^{-1}] & 0 & 0 \\ 0 & [K_{Sb}^{-1}] & 0 \\ 0 & 0 & [K_{Sc}^{-1}] \end{bmatrix} \\
& \Rightarrow \{d\Phi\} = [A]^{-1} \{dT\}; [A] = ([J][K^{-1}][G])^{-1} \tag{11}
\end{align*}
$$

La solution du problème correspond au zéro de la fonction {$\Phi$} obtenue par la
méthode de Newton-Raphston: {$dT\tilde{\} = -[A]^k \{\Phi\}^k$ . Le résidu {$\Phi$} est évalué
en rotation à l'aide des angles de tangage/roulis/lacet ($\phi_{a(bc)} \theta_{a(bc)} \psi_{a(bc)}$) calculés
pour chaque soufflet et en translation par le calcul des distances entre les extrémités
des soufflets.

5. Résultats numériques et conclusion

Cette algorithme a été implantée dans l'environnement logiciel LabVIEW™.
Plusieurs tests numériques ont été réalisés. Dans le tableau ci-dessous ne sont
présentés que trois tests significatifs correspondant à une modélisation de chaque
soufflet par 100 sections circulaires. Dans chaque test, un seul soufflet est
pressurisé. On impose une tolérance numérique de 10⁻¹¹ sur {Φ}. Les résultats
obtenus sont cohérents, on obtient une même côte z dans les trois tests pour le
soufflets pressurisé et les orientations des trois soufflets sont identiques.
<table><caption>Tab. 2: Numerical results with L=25 mm, N=100, k<sub>f</sub>=21,145 N.mm<sup>-1</sup>
k<sub>f</sub>=4,8055 N.mm.rad<sup>-1</sup>, H=5mm, S=2,1 mm<sup>2</sup></caption><thead><tr><th>Nombre<br>itérations</th><th>(p<sub>a</sub> ; p<sub>b</sub> ; p<sub>c</sub>)<br>(N/mm<sup>2</sup>)</th><th>(z<sub>a</sub> ; z<sub>b</sub> ; z<sub>c</sub>) (mm)</th><th>(&phi;<sub>a(b,c)</sub> ; &theta;<sub>a(b,c)</sub> ; &psi;<sub>a(b,c)</sub>) (rad)</th></tr></thead><tbody><tr><td>4</td><td>(0,2 ; 0 ; 0)</td><td>(26.60 ; 24.75 ; 24.75)</td><td>(5 E<sup>-10</sup> ; -3 E<sup>-10</sup> ; 0.25)</td></tr><tr><td>5</td><td>(0 ; 0.2 ; 0)</td><td>(24.76 ; 26.60 ; 24.75)</td><td>(-0.01 ; 0.21 ; -0.12)</td></tr><tr><td>5</td><td>(0 ; 0 ; 0.2)</td><td>(24.76 ; 24.75 ; 26.60)</td><td>(0.01 , - 0.21 ; -0.12)</td></tr></tbody></table>

L'algorithme converge très rapidement en 5 itérations maximum. Dans le cas où les différences de pression sont importantes, il est nécessaire de construire un boucle externe de calcul afin de faire varier progressivement le chargement.

Dans cette exemple le nombre de DDL est égal 3x3x100=900, couplés par 12 équations de contrainte algébrique. Dans une approche centralisée, à chaque itération on doit résoudre un système comportant une matrice de taille (900x900). Dans notre approche, nous résolvons un système dont la matrice est de taille (12x12) quelque soit le nombre de DDL envisagés. Le coût numérique est concentré sur le calcul de la matrice de flexibilité tangente de chaque soufflet et sur la réactualisation géométrique des soufflets à chaque itération. L'avantage de notre approche est que ce coût numérique n'est qu'une fonction linéaire du nombre de DDL.

## 6 Bibliographie

[JOL 02] JOLI P., FRANCOIS Ch., GAGARINA T., BOUDGHENE F., « Modeling and process design of a new type of catheter for special endovascular treatments of abdominal aortic aneurysms », CARS 2002, 849-854, Paris.

[THO 03] THOMANN G., REDARCE T., BETEMPS M., « A new Mechanism for the Orientation of the Tip of the Endoscope for the Intestinal Inspection », Proceedings of the 11 th World Congress in Mechanism and Machine Science, 2003, Tianjin (China).

[JOL 04] JOLI P., SEGUY N., FENG Z.-Q., « A mechanical model to simulate interactively a Bending Actuator Composed of three Parallel Bellows. », WCCM VI in conjunction with APCOM'04, Beijing, China, (Sept. 5-10, 2004)

[FEA 99] FEATHERSTONE.R. « A divide-and-conquer articulated body algorithm for parallel calculation of rigid body dynamics. Part 1: Basic algorithm ». International Journal of Robotic Research, Vol. 18,n° 9, 1999, p 867-865

[TSE 03] TSENG F.-C., HULBERT G. M, « A gluing algorithm for network-distributed dynamics simulation », Multibody System Dynamics, , 2003, Vol. 6, 2003, p. 377-396