Au-delà du code : compétences clés pour réussir les projets d'automatisation
Traduire des équations mathématiques en code fait partie, mais est aussi distinct, du développement de projets d'automatisation impliquant des solutions informatiques. Nous devons considérer l'efficacité des équations mathématiques par rapport aux besoins du projet en cours de développement. Nous devons également considérer la méthode de résolution pour résoudre les équations avec les données et le timing impliqués.
Les problèmes de données qui atteignent l'algorithme de solution doivent être détectés, contrôlés et, lorsque possible, corrigés. La gestion de la précision doit se produire à diverses étapes du processus. Les erreurs créées en cours de route par le processus de solution et l'implémentation doivent être détectées et gérées.
C'est un sujet pour des livres, mais espérons que le processus de réflexion peut être fait avancer avec quelques centaines de mots.
Premièrement, gardez à l'esprit que tout ce que nous ne rendons pas spécifiquement déterministe n'est pas, par défaut, stochastique. Les ordinateurs et les procédures par lesquelles ils résolvent les problèmes peuvent introduire des biais obscurs qui, avec analyse, sont clairement déterministes — juste pas intentionnels. Les plus simples qui illustrent le problème concernent la précision. Dans de nombreux cas, nous aimerions penser que les valeurs intermédiaires sont exactement justes ou au moins arrondies selon des critères que nous connaissons des mathématiques.
À divers niveaux, la troncature — au lieu de l'arrondi — force les nombres calculés à s'adapter à la taille de variable prévue pour eux. Parfois, cela n'a pas d'importance, mais parfois cela introduit des biais. Il peut être utile d'utiliser la procédure et la pratique mathématiques pour gérer activement la valeur stockée de toutes les valeurs calculées afin que le moteur de solution préserve la précision attendue pour elles. Cela est couramment enseigné dans les cours de programmation, et fréquemment négligé car comprendre et gérer la précision est ennuyeux et fastidieux.
Parfois, les observations manquent de cohérence (par exemple, à cause de problèmes d'échantillonnage ou de synchronisation) ou de précision fiable au moment de la mesure (par exemple, en raison d'instabilités transitoires). Il y a souvent des moyens de nettoyer cela (par exemple, par vérification de limites, analyse de données et techniques de régression). Il y a souvent des moyens de faire ressortir plus que ce que divulgue le flux de données, mais beaucoup d'entre eux impliquent des conjectures du programmeur sur ce qui pourrait se passer. Soyez prudent avec cela — un bon résultat est trop important pour rejeter a priori, mais un résultat incorrect peut être plus dommageable que la valeur de l'amélioration potentielle qu'il a facilitée.
Parfois, la procédure de solution elle-même, même avec une gestion appropriée de la précision, peut introduire des problèmes. Supposons que nous voulions intégrer une fonction en flux continu de maintenant à l'infini. Même de très petites erreurs ou ambiguïtés, insignifiantes dans un calcul unique, deviennent des valeurs astronomiques lorsqu'elles sont continuellement accumulées sur de longues périodes. Cela peut se mélanger avec l'arrondi et la troncature et produire une disparité due à une mesure ou une méthodologie d'intégration continuellement biaisée. Cela peut se manifester au fil du temps en erreurs énormes, par exemple, dans le terme « I » d'un régulateur PID. Il existe des procédures de contrôle de données et de gestion de la précision, ainsi que des approches mathématiques du problème pour la solution nécessaire qui résolvent ces problèmes, mais le chemin pour les découvrir peut être embarrassant.
Parfois, les mathématiques sont appliquées à une exigence sans bien comprendre le problème, les mathématiques, ou ce que les mathématiques sont réellement conçues pour faire. Il peut être possible, par exemple, de parfois détecter une situation et d'autres fois de la manquer complètement en utilisant exactement les mêmes mathématiques.
Technologie industrielle
- Au-delà de l'essai-erreur : guide prouvé pour un dépannage maintenance efficace
- L'automatisation renforcée propulse une robotique plus performante dans le moulage par injection
- Les 10 règles de codage essentielles de la NASA pour développer des logiciels critiques
- 7 étapes éprouvées pour planifier et exécuter efficacement vos projets d'automatisation
- Découvrez les cobots : une solution pratique aux défis de main-d'œuvre de l'industrie d'aujourd'hui
- Blockchain : renforcer la confiance et la transparence dans les supply chains de biens de luxe
- ABB dévoile une automatisation cloud de pointe pour les centres de données
- Applied Automation & Universal Robotics : donner à chaque lieu de travail les moyens d'utiliser des robots collaboratifs
- 4 stratégies éprouvées pour concevoir des checklists de maintenance efficaces