Aller au contenu

# Fonctions Python

## `Pelleteuse_API()`

Description

Elle lance en particulier en tâche de fond le client Websocket destiné à envoyer les ordres de pilotage au système.

Exemple

    1
    2
    3
    4
    import time

    from API import Pelleteuse_API
    Pelleteuse = Pelleteuse_API()

Cette fonction doit impérativement être éxéctuée au début de chaque programme.

## `Initialiser()`

Description

Cette fonction lance la prise d’origine du bras de pelleteuse.

Exemple

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    import time

    from API import Pelleteuse_API
    Pelleteuse = Pelleteuse_API()

    print("Initialisation")
    Pelleteuse.Initialiser()
    time.sleep(1)

    Pelleteuse.Terminer()

Cette fonction doit impérativement être exécutée au début de chaque programme.

## `Terminer()`

Description

Cette fonction permet l’arrêt du programme de manière propre.

Exemple

    1
    2
    3
    4
    5
    6
    7
    8
    9
    import time
    from API import Pelleteuse_API
    Pelleteuse = Pelleteuse_API()

    print("Initialisation")
    Pelleteuse.Initialiser()
    time.sleep(1)

    Pelleteuse.Terminer()

Cette fonction doit impérativement être exécutée à la fin de chaque programme.

## `PID_position(Kp, Ki, Kd, vmax)`

Paramètres

- `Kp`: réel. Gain proportionnel du PID d’asservissement en position, saturé en interne entre 0,1 et 9,9.
- `Ki`: réel. Gain intégral du PID d’asservissement en position, saturé en interne entre 0 et 40.
- `Kd`: réel. Gain dérivé du PID d’asservissement en position, saturé en interne entre 0 et 0.1.
- `vmax`: réel. Vitesse maximale de consigne de la boucle de vitesse, saturée en interne entre 0 et 10 mm/s.

Description

Cette fonction permet de changer les gains et la vitesse de saturation du PID d’asservissement en position.

## `Verin(sous-ensemble, mode, consigne, duree)`

Paramètres

- `sous-ensemble`
  - type : chaîne de caractères
  - valeurs : `fleche`, `balancier` ou `godet`
- `mode`
  - type : chaîne de caractères
  - valeurs : `position` ou `vitesse`
- `consigne` :
  - type : réel ou chaîne de caractères
  - valeurs : expression Python valide du type `0.5 * sin(t)`, `t` étant reconnu comme le temps courant, uniquement en mode « vitesse »). Consigne de position (en mm) ou de vitesse (en mm/s)
- `duree` : réel. Durée de la manœuvre en secondes.

Description

Cette fonction donne une consigne de position ou de vitesse au vérin du sous-ensemble sélectionné pendant une certaine durée.

## `Angle(sous-ensemble, consigne, duree)`

Paramètres

- `sous-ensemble`
  - type : chaîne de caractères
  - valeurs : `fleche`, `balancier` ou `godet`
- `consigne` : réel. Consigne de position angulaire (en deg)
- `duree` : réel. Durée de la manœuvre en secondes.

Description

Cette fonction donne une consigne de position angulaire au sous-ensemble sélectionné pendant une certaine durée.

## `Bras(angle_fleche, angle_balancier, angle_godet)`

Paramètres

- `angle_fleche` : réel. Consigne de position angulaire de la flèche (en deg)
- `angle_balancier` : réel. Consigne de position angulaire du balancier (en deg)
- `angle_godet` : réel. Consigne de position angulaire du godet (en deg)

Description

Cette fonction donne une posture globale au bras de pelleteuse. Le positionnement se fait d’une manière douce, sur une durée calculée automatiquement

## `Godet(mode)`

Paramètres

- `mode` : chaîne de caractères (`libre` ou `fixe`)

Description

Cette fonction définit le mode de fonctionnement du godet lorsque ce dernier est piloté par la fonction GodetXY (voir plus loin) :

- `libre` : le godet conserve son orientation par rapport au bâti
- `fixe` : le godet conserve son orientation par rapport au balancier

## `GodetXY(xcons, ycons, gammacons, rectiligne = 1, hauteur = 0)`

Paramètres

- `xcons` : réel. Consigne de position cartésienne horizontale du pivot du godet (en mm)
- `ycons` : réel. Consigne de position cartésienne verticale du pivot du godet (en mm)
- `gammacons` : réel. Consigne de position angulaire du godet (en deg)
- `rectiligne` : entier (optionnel). 1 mode rectiligne (valeur par défaut), 0 : mode non synchronisé (voir tableau de bord Énergétique - Puissance).
- `hauteur` : entier (optionnel). Hauteur max de la trajectoire (en mode rectiligne uniquement, voir tableau de bord Énergétique - Puissance). Valeur par défaut : 0

Description

Cette fonction positionne le godet en coordonnées cartésiennes, sur une durée calculée automatiquement.

## `Charger()`

Description

Positionne le godet à l’horizontale (dans la limite de ce qui est mécaniquement possible).

Exemple

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    import time

    from API import Pelleteuse_API
    Pelleteuse = Pelleteuse_API()

    print("Initialisation")
    Pelleteuse.Initialiser()
    time.sleep(1)

    Pelleteuse.Bras(30,-80,50)

    print("Debut chargement godet")
    Pelleteuse.Charger()
    print("Fin chargement godet")
    time.sleep(1)

    Pelleteuse.Terminer()

## `Decharger()`

Description

Rentre le vérin du godet au maximum.

## `Niveler(mode, cons_mini, cons_maxi)`

Paramètres

- `mode` : chaîne de caractères (`horizontal` ou `vertical`)
- `cons_mini` : réel. Point de départ (en mm)
- `cons_maxi` : réel. Point d’arrivée (en mm)

Description

Cette fonction permet de réaliser une opération de nivelage suivant le mode :

- `horizontal` : le godet se met alors en position verticale et le bras se déplace entre xmin=cons_mini et xmax=cons_maxi suivant un mouvement horizontal (c’est la partie « coupante » du godet qui réalise le nivelage, pour un fond de tranchée par exemple)
- `vertical` : le godet se met alors en position horizontale partie coupante vers la droite (vérin complètement rentré) et le bras se déplace entre ymin=cons_mini et ymax=cons_maxi suivant un mouvement vertical, pour une paroi de tranchée par exemple

## `LireVariable(variable)`

Paramètres

- variable : chaîne de caractères. Nom de la variable à lire

Description

Cette fonction retourne la valeur de la variable spécifiée

Liste des variables

- `theta1cons` : consigne d'angle flèche (deg)
- `theta2cons` : consigne d'angle balancier (deg)
- `theta3cons` : consigne d'angle godet (deg)
- `theta1` : angle flèche (deg)
- `theta2` : angle balancier (deg)
- `theta3` : angle godet (deg)
- `theta5` : angle 4 barres (deg)
- `w1` : vitesse angulaire flèche (deg/s)
- `w2` : vitesse angulaire balancier (deg/s)
- `w3` : vitesse angulaire godet (deg/s)
- `w5` : vitesse angulaire 4 barres (deg/s)
- `xc` : consigne cartésienne en x (mm)
- `yc` : consigne cartésienne en y (mm)
- `gammac` : consigne cartésienne d'angle godet (deg)
- `x` : position cartésienne calculée en x (mm)
- `y` : position cartésienne calculée en y (mm)
- `gamma` : position cartésienne calculée d'angle godet (deg)
- `v1cons` : consigne de vitesse vérin de flèche (mm/s)
- `v2cons` : consigne de vitesse vérin de balancier (mm/s)
- `v3cons` : consigne de vitesse vérin de godet (mm/s)
- `v1` : vitesse vérin de flèche (mm/s)
- `v2` : vitesse vérin de balancier (mm/s)
- `v3` : vitesse vérin de godet (mm/s)
- `L1cons` : consigne de position vérin de flèche (mm)
- `L2cons` : consigne de position vérin de balancier (mm)
- `L3cons` : consigne de position vérin de godet (mm)
- `L1` : position vérin de flèche (mm)
- `L2` : position vérin de balancier (mm)
- `L3` : position vérin de godet (mm)
- `F1` : force vérin de flèche (N)
- `F2` : force vérin de balancier (N)
- `F3` : force vérin de godet (N)
- `i1` : courant vérin de flèche (A)
- `i2` : courant vérin de balancier (A)
- `i3` : courant vérin de godet (A)
- `u1` : tension de commande vérin de flèche (V)
- `u2` : tension de commande vérin de balancier (V)
- `u3` : tension de commande vérin de godet (V)
- `P1` : puissance électrique vérin de flèche (W)
- `P2` : puissance électrique vérin de balancier (W)
- `P3` : puissance électrique vérin de godet (W)
- `E1` : énergie vérin de flèche (J)
- `E2` : énergie vérin de balancier (J)
- `E3` : énergie vérin de godet (J)
- `PM1` : puissance mécanique vérin de flèche (W)
- `PM2` : puissance mécanique vérin de balancier (W)
- `PM3` : puissance mécanique vérin de godet (W)
- `thetaM1` : angle moteur vérin de flèche (rad)
- `thetaM2` : angle moteur vérin de balancier (rad)
- `thetaM3` : angle moteur vérin de godet (rad)
- `wM1` : vitesse moteur vérin de flèche (rad/s)
- `wM2` : vitesse moteur vérin de balancier (rad/s)
- `wM3` : vitesse moteur vérin de godet (rad/s)

Retour en haut de la page