Le système de contrôle en temps réel ( RCS ) est une architecture de modèle de référence , adaptée à de nombreux domaines de problèmes de contrôle informatique en temps réel , à forte intensité logicielle . Il définit les types de fonctions nécessaires dans un système de contrôle intelligent en temps réel et la manière dont ces fonctions sont liées les unes aux autres.

RCS n'est pas une conception de système , ni une spécification de la façon de mettre en œuvre des systèmes spécifiques . RCS prescrit un modèle de contrôle hiérarchique basé sur un ensemble de principes d'ingénierie bien fondés pour organiser la complexité du système . Tous les nœuds de contrôle à tous les niveaux partagent un modèle de nœud générique.
RCS fournit également une méthodologie complète pour la conception, l'ingénierie, l'intégration et le test des systèmes de contrôle. Les architectes répartissent de manière itérative les tâches et les informations du système en sous-ensembles plus fins et finis, contrôlables et efficaces. RCS se concentre sur un contrôle intelligent qui s'adapte aux environnements d'exploitation incertains et non structurés. Les principales préoccupations sont la détection, la perception, la connaissance, les coûts, l'apprentissage, la planification et l'exécution.
Aperçu
Une architecture de modèle de référence est une forme canonique, et non une spécification de conception de système . L'architecture de modèle de référence RCS combine la planification et le contrôle des mouvements en temps réel avec la planification des tâches de haut niveau, la résolution de problèmes , la modélisation du monde, l'estimation récursive de l'état, le traitement d'images tactiles et visuelles et l'analyse de la signature acoustique. En fait, l'évolution du concept RCS a été motivée par un effort visant à inclure les meilleures propriétés et capacités de la plupart, sinon de la totalité, des systèmes de contrôle intelligents actuellement connus dans la littérature, de la subsomption au SOAR, des tableaux noirs à la programmation orientée objet.
Le RCS (système de contrôle en temps réel) est une architecture d'agent intelligent conçue pour permettre n'importe quel niveau de comportement intelligent, y compris les niveaux de performance humains. Le RCS s'inspire d'un modèle théorique du cervelet, la partie du cerveau responsable de la coordination motrice fine et du contrôle des mouvements conscients. Il a été conçu à l'origine pour le contrôle sensoriel interactif et orienté vers un objectif des manipulateurs de laboratoire. Au cours des trois dernières décennies, il a évolué vers une architecture de contrôle en temps réel pour les machines-outils intelligentes, les systèmes d'automatisation industrielle et les véhicules autonomes intelligents.
Le RCS s'applique à de nombreux domaines de problèmes, notamment des exemples de fabrication et des exemples de systèmes de véhicules . Des systèmes basés sur l'architecture RCS ont été conçus et mis en œuvre à des degrés divers pour une grande variété d'applications qui incluent le chargement et le déchargement de pièces et d'outils dans des machines-outils, le contrôle des postes d'usinage, l'ébavurage et le chanfreinage robotisés et le contrôle des télérobots de stations spatiales, de multiples véhicules sous-marins autonomes, de véhicules terrestres sans pilote, de systèmes d'automatisation des mines de charbon , de systèmes de traitement du courrier des services postaux et de systèmes d'automatisation opérationnelle des sous-marins.
Histoire
Le RCS a évolué au fil des années à travers diverses versions, à mesure que la compréhension de la complexité et de la sophistication du comportement intelligent s'est accrue. La première mise en œuvre a été conçue pour la robotique sensorielle interactive par Barbera au milieu des années 1970.
RCS-1

Dans le RCS-1, l'accent a été mis sur la combinaison de commandes avec un retour sensoriel afin de calculer la réponse appropriée à chaque combinaison d'objectifs et d'états. L'application consistait à contrôler un bras robotisé avec un système de vision lumineuse structurée dans des tâches de poursuite visuelle. Le RCS-1 a été fortement influencé par des modèles biologiques tels que le modèle Marr-Albus, et le Cerebellar Model Arithmetic Computer (CMAC). du cervelet .
Le CMAC devient une machine à états lorsque certaines de ses sorties sont directement renvoyées vers l'entrée. Le RCS-1 a donc été implémenté sous la forme d'un ensemble de machines à états organisées selon une hiérarchie de niveaux de contrôle. À chaque niveau, la commande d'entrée sélectionne effectivement un comportement qui est piloté par un retour d'information de type stimulus-réponse . Le CMAC est ainsi devenu le bloc de construction du modèle de référence du RCS-1, comme le montre la figure.
Une hiérarchie de ces blocs de construction a été utilisée pour mettre en œuvre une hiérarchie de comportements telle qu'observée par Tinbergen et d'autres. RCS-1 est similaire à bien des égards à l'architecture de subsomption de Brooks , sauf que RCS sélectionne les comportements avant le fait par le biais d'objectifs exprimés dans des commandes, plutôt qu'après le fait par le biais de la subsomption.
RCS-2

La génération suivante, RCS-2, a été développée par Barbera, Fitzgerald, Kent et d'autres pour le contrôle de fabrication dans l' installation de recherche sur la fabrication automatisée (AMRF) du NIST au début des années 1980. Le bloc de construction de base du RCS-2 est illustré dans la figure.
La fonction H est restée un exécuteur de table d'états de machine à états finis . La nouvelle fonctionnalité de RCS-2 était l'inclusion de la fonction G composée d'un certain nombre d'algorithmes de traitement sensoriel, notamment des algorithmes d'analyse de lumière structurée et de blob. RCS-2 a été utilisé pour définir une hiérarchie à huit niveaux composée des niveaux de contrôle Servo, Coordinate Transform, E-Move, Task, Workstation, Cell, Shop et Facility.
Seuls les six premiers niveaux ont été réellement construits. Deux des postes de travail de l'AMRF ont entièrement implémenté cinq niveaux du RCS-2. Le système de contrôle du robot de manutention de matériel de campagne de l'armée (FMR) a également été implémenté dans le RCS-2, tout comme le projet de véhicule terrestre semi-autonome TMAP de l'armée
RCS-3

Le RCS-3 a été conçu pour le projet de véhicule sous-marin autonome multiple (MAUV) NBS/DARPA et a été adapté pour l'architecture du système de contrôle des télérobots du modèle de référence standard NASA/NBS (NASREM) développée pour le Flight Telerobotic Servicer de la station spatiale . Le bloc de construction de base du RCS-3 est illustré dans la figure.
Les principales nouvelles fonctionnalités introduites dans RCS-3 sont le modèle mondial et l'interface opérateur. L'inclusion du modèle mondial fournit la base de la planification des tâches et du traitement sensoriel basé sur le modèle. Cela a conduit à affiner les modules de décomposition des tâches (TD) afin que chacun dispose d'un attributaire de tâche, d'un planificateur et d'un exécuteur pour chacun des sous-systèmes affectés à une tâche. Cela correspond à peu près à la hiérarchie de contrôle à trois niveaux de Saridis .
RCS-4

Le RCS-4 est développé depuis les années 1990 par la division des systèmes robotiques du NIST. Le bloc de construction de base est illustré dans la figure). La principale nouveauté du RCS-4 est la représentation explicite du système de jugement de valeur (VJ). Les modules VJ fournissent au système de contrôle RCS-4 le type de fonctions fournies au cerveau biologique par le système limbique . Les modules VJ contiennent des processus qui calculent le coût , le bénéfice et le risque des actions planifiées, et qui attribuent une valeur aux objets , aux matériaux, au territoire, aux situations, aux événements et aux résultats. Les variables d'état de valeur définissent quels objectifs sont importants et quels objets ou régions doivent être pris en compte, attaqués, défendus, assistés ou traités d'une autre manière. Les jugements de valeur, ou fonctions d'évaluation, sont une partie essentielle de toute forme de planification ou d'apprentissage. L'application des jugements de valeur aux systèmes de contrôle intelligents a été abordée par George Pugh. La structure et la fonction des modules VJ sont développées plus complètement dans Albus (1991).
RCS-4 utilise également le terme génération de comportement (BG) à la place du terme décomposition de la tâche 5 (TD) de RCS-3. Le but de ce changement est de souligner le degré de prise de décision autonome . RCS-4 est conçu pour répondre aux applications hautement autonomes dans des environnements non structurés où les communications à haut débit sont impossibles, comme les véhicules sans pilote opérant sur le champ de bataille , dans les profondeurs sous-marines ou sur des planètes lointaines. Ces applications nécessitent des jugements de valeur autonomes et des capacités perceptuelles en temps réel sophistiquées . RCS-3 continuera à être utilisé pour des applications moins exigeantes, telles que la fabrication , la construction ou la télérobotique pour les opérations dans l'espace proche ou sous-marines peu profondes, où les environnements sont plus structurés et la bande passante de communication vers une interface humaine est moins restreinte. Dans ces applications, les jugements de valeur sont souvent représentés implicitement dans les processus de planification des tâches ou dans les entrées de l'opérateur humain.
Méthodologie
Dans la figure, un exemple de la méthodologie RCS pour la conception d'un système de contrôle pour la conduite autonome sur route dans des conditions de circulation quotidiennes est résumé en six étapes.

- L'étape 1 consiste en une analyse intensive des connaissances du domaine à partir des manuels de formation et des experts en la matière. Des scénarios sont élaborés et analysés pour chaque tâche et sous-tâche. Le résultat de cette étape est une structuration des connaissances procédurales dans un arbre de décomposition des tâches avec des tâches de plus en plus simples à chaque échelon. À chaque échelon, un vocabulaire de commandes (verbes d'action avec des objectifs, des paramètres et des contraintes) est défini pour évoquer le comportement de la tâche à chaque échelon.
- L'étape 2 définit une structure hiérarchique des unités organisationnelles qui exécuteront les commandes définies à l'étape 1. Pour chaque unité, ses tâches et responsabilités en réponse à chaque commande sont spécifiées. Cela est analogue à l'établissement d'une structure de répartition du travail pour un projet de développement ou à la définition d'un organigramme pour une opération commerciale ou militaire.
- L'étape 3 spécifie le traitement déclenché dans chaque unité à la réception d'une commande d'entrée. Pour chaque commande d'entrée, un graphe d'états (ou une table d'états ou un automate à états finis étendu) est défini qui fournit un plan (ou une procédure pour élaborer un plan) pour accomplir la tâche commandée. La commande d'entrée sélectionne (ou fait générer) une table d'états appropriée, dont l'exécution génère une série de commandes de sortie vers les unités de l'échelon inférieur suivant. La bibliothèque de tables d'états contient un ensemble de règles procédurales sensibles à l'état qui identifient toutes les conditions de ramification des tâches et spécifient les paramètres de transition d'état et de commande de sortie correspondants.
Le résultat de l'étape 3 est que chaque unité organisationnelle possède pour chaque commande d'entrée une table d'états de règles de production ordonnées, chacune pouvant être exécutée par un automate à états finis étendu (FSA). La séquence de sous-commandes de sortie requise pour exécuter la commande d'entrée est générée par des situations (c'est-à-dire des conditions de branchement) qui provoquent la transition de l'FSA d'une sous-commande de sortie à la suivante.
- À l'étape 4, chacune des situations définies à l'étape 3 est analysée pour révéler leurs dépendances avec les états du monde et des tâches. Cette étape identifie les relations détaillées entre les entités, les événements et les états du monde qui font qu'une situation particulière est vraie.
- À l’étape 5, nous identifions et nommons tous les objets et entités ainsi que leurs caractéristiques et attributs particuliers qui sont pertinents pour détecter les états et situations du monde ci-dessus.
- À l'étape 6, nous utilisons le contexte des activités de tâches particulières pour établir les distances et, par conséquent, les résolutions auxquelles les objets et entités concernés doivent être mesurés et reconnus par le composant de traitement sensoriel. Cela établit un ensemble d'exigences et/ou de spécifications pour le système de capteurs afin de prendre en charge chaque activité de sous-tâche.
Logiciel

Sur la base de l'architecture du modèle de référence RCS, le NIST a développé une bibliothèque de logiciels pour systèmes de contrôle en temps réel . Il s'agit d'une archive de codes C++, Java et Ada gratuits, de scripts, d'outils, de fichiers makefiles et de documentation développés pour aider les programmeurs de logiciels à utiliser dans les systèmes de contrôle en temps réel , en particulier ceux qui utilisent l'architecture du modèle de référence pour la conception de systèmes intelligents.
Applications
- Le cadre ISAM est une application RCS au domaine de la fabrication.
- L' architecture du modèle de référence 4D-RCS est l'application RCS au domaine des véhicules, et
- Le modèle de référence standard NASA/NBS pour l'architecture des systèmes de contrôle des télérobots (NASREM) est une application au domaine spatial.