Les automations sont des actions réalisées lorsqu’une combinaison d’évènements se produit. Un exemple d’automation pourrait être un changement de phase lorsqu’une certaine altitude et une certaine vitesse ont été atteintes, actionner un servomoteur lorsque le pilote clique sur un bouton etc… Dans cette section, tous les évènements et actions possibles seront détaillées, de manière à ce que l’utilisateur puisse combiner les automations répondant le mieux à ses besoins. La figure suivante montre le menu des automations, avec une colonne pour les évènements et une autre pour les actions liées à ces évènements.

Automations

Les automations (encadré rouge) sont une combinaison d’évènements (en bleu) et d’actions (en vert). Toutes ces actions seront réalisées lorsqu’un évènement ou une combinaison d’évènements se produira. Certains paramètres peuvent être configurés dans les menus events / actions. Ils sont applicables indépendamment du type d’évènement ou d’action configuré (en noir).

  • Delay: Temps entre l’évènement et le début de l’action correspondante.
  • Time: Valeur liée aux automations. Indique pendant combien de temps l’évènement doit être réalisé pour déclencher l’action correspondante. Par exemple, si l’évènement est “être au-dessus de 100 mètres”, et que le paramètres “Time” est réglé sur 3 secondes, l’aéronef devra rester au-dessus de 100 mètres pendant au moins 3 secondes pour déclencher l’action.
  • Periodical: Ce menu permet de configurer des actions qui se réaliseront périodiquement pendant le temps où l’évènement est vérifié.

automations-periodical

L’action peut être configurée pour être réalisée à certains intervalles de temps ou de distance. Lorsque c’est l’option distance est utilisée, c’est l’option “Vector” qui permet de mesurer la distance le long de la direction spécifiée par ce vecteur. Les deux modes sont disponibles pour le Temps et la Distance. La figure suivante explique la différence entre ces deux concepts:

 

Considérons que le système calcule les automations chaque seconde (ligne noire), et que l’automation est programmée pour être exécutée toutes les 1.5 secondes (ligne rouge). Dans ce cas, la première action sera déclenchée à la seconde 1.5, mais sera évaluée à la 2 ème seconde. La deuxième évaluation de cette automation dépendra du mode: si un délai fixe est sélectionner, l’action sera évaluée 1.5 secondes après les première évaluation, donc à la secondes 3,5. D’un autre côté, si le mode est Fixed period, l’action sera évaluée 1.5 secondes après la première exécution (et non pas la première évaluation), donc à la 3 ème seconde. En réalité, le temps d’évaluation des automations est bien inférieur é 1 seconde, donc la différence entre les deux systèmes est beaucoup plus faible.

EVENTS

Un évènement est quelque chose qui doit se réaliser pour déclencher des actions. Lors de la création d’un nouvel évènement, l’utilisateur a le choix entre différents types d’évènements:

  • Timer: Cet évènement set lié au timer sélectionné dans le menu. Ce timer devra avoir été au préalable configuré dans une autre automation (type Periodical). Par exemple, si l’automation est réglée pour prendre une photo 10 secondes après le décollage, une automation devra avoir l’évènement Take-off (catégorie Phase), avec l’action “Periodical” qui lancera un timer de 10 secondes. Une autre automation indiquant le timer créé déclenchera la photo lorsque l’évènement Timer sera vérifié. Le menu déroulant “Timer” permet de sélectionner le numéro du timer à prendre en compte pour cet évènement.

timer

  • Alarm: Lorsqu’un des éléments sélectionné dans le menu déroulant “Add” tombe en panne, ou lorsque qu’ils sont tous en ordre de marche, l’évènement est déclenché. Les différentes options de type sont “Fail one” (Un en panne) et “All Ok” (Tous Ok). Dans le menu déroulant “Add”, une série de paramètres à inclure à l’évènement peuvent être sélectionné. Une alarme généralement implémentée concerne l’évènement “GPS Navigation Down” (Navigation GPS perdue), déclenché lorsque le signal GPS n’est plus disponible.

alarm

  • Polygon: L’évènement est déclenché lorsque l’aéronef se trouve à l’intérieur ou à l’extérieur d’un polygone définit dans le menu Mission.

polygon

  • Lorsque l’évènement a été nommé (“Event Name (Polygon)” dans notre cas) et enregistré, il devient possible de le lier à un polygone dessiné sur la carte das le menu Mission. Faites un clic droit sur le polygone pour ouvrir un menu, ce qui fera apparaître dans l’espace Events tous les évènements de type Polygon définis dans le système. Cliquez sur le polygone désiré pour le lier à l’évènement.
  • Button: Cette option créée un bouton qui déclenchera l’évènement. L’option visual range permet de personnaliser l’apparence du bouton en fonction de la valeur de la variable. Pour ce faire, sélectionnez une variable et indiquez autant de points que désiré, chacun correspondant à une valeur et une couleur.

buttonSi un bouton déclenche un changement de phase, celui-ci sera celui du Panneau Veronte avec le nom de cette phase dessus. Si le bouton est lié à une action différente (mouvement d’un servomoteur, variable etc…), il apparaitra dans la partie basse du Panneau Veronte avec l’icône sélectionnée par l’utilisateur. L’option Configuration affichera une fenêtre demandant confirmation après avoir cliqué sur le bouton, de manière à éviter le déclenchement no voulu d’une action. L’option Time control est utilisée pour déclencher une action pendant le temps spécifié lorsque le bouton est cliqué.

  • Phase: L’évènement est déclenché lorsque l’aéronef est dans l’une des phases sélectionnées en cliquant sur le bouton “+” (Une seule phase suffit pour cela, même si plusieurs phases sont spécifiées).

phases

  • Route: Cet évènement est utilisé pour les Waypoints définis par l’utilisateur dans le menu “Mission”.

route

Route

Il y a deux modes différents dans le menu Event type. Le mode Mark déclenche l’action lorsque le véhicule atteint le Waypoint sélectionné, tandis que “Flyig to waypoint” déclenche l’action lorsque la plateforme est en direction de ce waypoint. Cliquer sur 1 permet de sélectionner le Waypoint parmi ceux créés par l’utilisateur (Dans notre cas le Waypoint 2 a été sélectionné). Il est possible de changer l’apparence du Waypoint avec une image sélectionnée dans l’option “icon”, de manière à ce que l’utilisateur puisse l’identifier facilement.

  • Variable: Cet évènement est déclenché lorsque la variable sélectionnée est dans une certaine fourchette: “Min” et “Max”. Cette variable est sélectionnée dans “Variable”. Les valeurs minimales et maximales doivent être indiquées dans leur case respective. L’option Invert Range change l’intervalle (la surface bleue deviendra grise, et inversement). Considérons par exemple l’évènement de la figure ci-dessous.Avec ces paramètres, l’évènement est déclenché lorsque l’IAS est comprise entre 5 et 20 mètres par seconde. Si l’option “Invert range” n’est pas cochée, l’évènement sera déclenché lorsque l’IAS sera inférieure à 5 m/s ou supérieure à 20 m/s.

variable

  • Mode: L’évènement est déclenché lorsque l’aéronef est dans l’un des modes sélectionné.

mode

Tous les évènements détaillés ci-dessus peuvent être combinés pour créer un évènement personnalisé, en utilisant des opérateurs Booléens : (AND (ET), OR (OU), NOT (NON)).

boolean

Lorsqu’il y a un seul évènement, cliquer sur un opérateur Booléen (1) créera un nouvel évènement lié à l’évènement précédent. En faisant un clic droit sur évènement puis en sélectionnant “Wrap in” permet de faire comme si cet évènement était entre parenthèse (il sera évalué en premier). Considérons par exemple le groupe d’évènements suivant:

operation

La première opération évaluée est le NOT, puis le OR entre Event2 et le résultat du NOT, et enfin le AND entre Event1 et le résultat du OR.

Le tableau suivant décris la signification de chaque opérateur booléen.

OpérateurDescription
ANDLes évènements liés doivent être réalisés simultanément pour activer l’automation.
ORUn des évènements doit être réalisé pour activer l’automation.
NOTL’évènement sera réalisé si l’évènement ou un groupe d’évènements n’est pas réalisé.

Automation – Opérateurs logiques

ACTIONS

La partie “Actions” contient toutes les actions qui seront déclenchées lorsque l’évènement (ou un groupe d’évènement) est réalisé.  lors de la création d’une nouvelle action, différents types peuvent être configurés:

  • Output: Cette action permet de définir la position d’un actionneur.

output

La sortie désirée est sélectionnée dans le menu, puis un ensemble de points définissants la vitesse et la position de l’actionneur peut être indiqué avec le bouton “+”. Prenons en exemple le cas de la figure précédente. Lorsque l’action est déclenchée, une série de commandes est envoyée à la sortie s5. Dans ce cas, cette fiche est reliée à la caméra, qui prend une photo lorsque le déclencheur est activé pendant 0.5 secondes. D’un autre côté, si la fiche a été configurée comme un GPIO, les signaux de sortie possibles sont une impulsion On ou Off continue et une impulsion On et Off limitée, dont la durée est réglée par l’utilisateur.

auto_gpio

  • Go to: Cette action permet de diriger l’aéronef vers un segment de route (ou un Waypoint seul) créé par l’utilisateur dans “Mission”

goto

Cliquer sur 1 permet à l’utilisateur de sélectionner un Waypoint sur la carte (2 par exemple). Une fois que l’action est déclenchée, l’aéronef ira jusqu’à ce segment (ou Waypoint). Si le segment est une route, l’aéronef suivra celui-ci puis continuera sa route en se rendant au prochain segment. D’un autre côté, si l’option “Go to next” est sélectionnée, l’aéronef oubliera la trajectoire actuelle et se rendra au segment suivant. Si l’évènement se produit à nouveau, l’aéronef sautera encore un segment et se rendra au suivant. Considérons par exemple la route apparaissant dans la figure précédente. Si l’automation “Go to next” est déclenchée par un bouton, lorsque l’aéronef sera dans son premier segment (celui qui part du Waypoint Vert) et que le bouton est cliqué, l’aéronef se rendra au prochain segment (incurvé dans notre cas). Si le bouton est cliqué une nouvelle fois avant que l’aéronef ait atteint ce segment, il ira automatiquement au segment suivant (dans notre cas, ligne droite parallèle à la première ligne).

  • Terrain obstacle: Cette option permet de faire monter l’aéronef lorsqu’il atteint une altitude de zéro mètres, par exemple lorsqu’il se dirige vers un relief. Cette option n’est pas activée en permanence car elle ne permet pas l’atterrissage du drone.

terrain_obstacleLe paramètre “Distance” établit la hauteur à partir de laquelle l’aéronef commencera la montée.

  • Select Arcade Axis: Si le système d’axes de l’aéronef est changé par rapport à celui créé dans l’option “Arcade Axis” (voir section 6.4.5).

arcade_axis_auto

  • Navigation: Cette action permet de changer le mode de navigation de l’aéronef. Par défaut, l’aéronef utilise un algorithme de fusion des capteurs (EKF). Mais si, par exemple, le GPS n’est plus fonctionnel, cet algorithme donnerai de mauvais résultats. il serait donc pratique de changer pour un autre si cela se produit (AHRS). La navigation sans GPS ne modifiera pas la stabilité de l’aéronef, mais il sera alors impossible de lui faire suivre une trajectoire pendant le temps où le GPS n’est pas disponible. C’est une sécurité pour éviter un évènement malheureux en cas de perte du signal GPS.

navegacion

  • Phase: La phase de vol est remplacée par celle sélectionnée dans cette action.

phase

  • User Log: Une entrée est ajoutée au Log.
  • Run operation: Un opération définie dans Variables/System Variables/Operations” est réalisée.

operation_auto

  • Arcade trim: Cette action trime la radiocommande; Elle défini comme neutre la position actuelle des sticks. La configuration des cette automation est détaillée dans la section “Devices/Stick/Stick”.
  • Periodical: Cette opération permet de définir un Timer pendant le vol.

timer

Le premier paramètre est l’identifiant du Timer, de manière à ce qu’il puisse être utilisé par une autre automation. Pour expliquer le deuxième paramètre, nous allons prendre une série d’exemples, chacun ayant différentes options.

  • Run + Distance/Time + Continuous: lorsque l’action est déclenchée, le timer commencera à mesurer le temps ou la distance depuis ce moment jusqu’à ce que l’autopilote soit éteint (ou jusqu’à ce qu’une autre automation agisse sur ce timer).
  • Run + Distance/Time + Fixed Delay/Period: lorsque l’action est déclenchée, le timer commencera à mesurer une distance ou un temps. Chaque fois que la valeur indiquée dans “Period” est atteinte, l’évènement lié à ce timer sera déclenché. Par exemple, si l’utilisateur veut prendre une photo tous les 25 mètres, le timer devra avoir une option une Distance comme Type option et 25 mètres dans Period.  Une autre automation prenant un évènement de type Timer déclenchera la prise de photo chaque fois que le Timer atteindra 25 mètres.
  • Distance + Vector: La distance est mesurée dans la direction indiquée par le vecteur.
  • Stop: Le Timer sera stoppé. Une autre automation peut être créée pour le relancer.
  • Reset: Lorsque cette action est active, le timer sera remis à zéro avant de lancer une mesure. Si l’option Reset est utilisée avec l’option Stop, le Timer sera stoppé et remis à zéro.
Note: La différence entre Fixed Delay et Fixed Period a été expliquée dans les premiers paragraphes de cette section.
  • Change active sensor: Cette option permet de basculer entre le capteur utilisé comme accéléromètre, gyroscope et magnétomètre interne et externe. Il est aussi possible de désactiver le capteur sélectionné.

sensor_change

  • Mode: Le mode de vol est remplacé par celui spécifié dans cette option.
  • Track: L’action Track est utilisée pour configurer une attente/sur-place (en fonction de si l’aéronef est un avion ou un multicoptère). De plus, il existe une option permettant de faire voler l’aéronef en suivant les mouvements d’une caméra installée (fly “By cam”).

track

Les trois options de l’action Track sont les suivantes:

  • Disabled: Cette action n’aura aucun effet sur le système.
  • Position:L’aéronef attendra ou fera de sur-place au point sélectionné. Sélectionner “Current” aura pour effet de faire faire du sur-place à l’aéronef au dessus de la position où il est lorsque l’action est déclenchée, ou de faire attendre l’avion au dessus de cette position avec un rayon spécifiée dans “Distance”. Il est aussi possible de choisir le sens de l’attente (Auto, Clockwise (dans les sens des aiguilles d’une montre), ou Anticlockwise (dans le sens inverse des aiguilles d’une montre)). D’autre part, le bouton en surbrillance dans la figure ci-dessus permet de sélectionner le point autour duquel l’attente ou le sur-place sera effectué.
  • By Cam: La direction du vol est contrôlée par les mouvements de la caméra.

bycam_auto

  • Considérons qu’il y a un sitck virtuel dans le Workspace contrôlant les mouvements d’une caméra Gimbal. Le mouvement horizontal du stick contrôle le lacet du gimbal, et agira directement sur le lacet de l’aéronef. En considérant que l’axe longitudinal de la caméra et du véhicule sont alignés, l’aéronef pointera en permanence dans la même direction que la caméra. De plus, le mouvement vertical du stick contrôlera l’axe vertical du gimbal (tangage). Lorsque la direction pointée par le gimbal coupe le sol, l’aéronef s’arrêtera (sur place ou attente) à une certaine distance de ce point d’intersection (distance indiquée dans “Distance”). Si le véhicule est en sur place car la distance minimale est atteinte, il pourra repartir lorsque le gimbal se relèvera, et suivra alors la direction indiquée par le gimbal. La figure suivante explique ce qui a été dit plus haut:bycam
  • Custom TX: Lorsque cette action est déclenchée, un message paramétré à l’avance sera envoyé par le port Serial de l’autopilote. Le message doit être configuré dans “Custom messages” (6.3.3.20).

custom_auto

Les deux paramètres à configurer pour cette action sont le type de Port Serial (SCIA, SCIB) et le message qui sera envoyé (parmi ceux configurés dans l’onglet “custom messages”).

Pour supprimer ou cloner une automation, faites un clic droit sur celle-ci puis choisissez l’option désirée. Lorsqu’un clone est créé, les changements effectués dans le panneau Event seront appliqués aux deux automations, tandis que l’action peut être différente dans chaque automation (même évènement pour les deux, actions différentes).

Lors de l’ajout d’un nouvel évènement ou d’une nouvelle action, l’utilisateur peut choisir parmi les options déjà existantes (énoncées au dessus), ou en créer une nouvelle. Une fois créée, il est possible de configurer la nouvelle automation grâce au panneau ci-dessous.  Les option de configuration courantes sont:

BoutonDescription
chain-iconSélectionner une action ou un évènement disponible dans le système.

Lors de la modification d’un évènement ou d’une action, cela sera changé pour toutes les automations les utilisant.

copy-iconCloner une action ou un évènement existant avec les mêmes paramètres configurés.

Options de configuration des Automations