El sistema de control en tiempo real ( RCS ) es una arquitectura de modelo de referencia , adecuada para muchos dominios de problemas de control informático en tiempo real y con uso intensivo de software. Define los tipos de funciones necesarias en un sistema de control inteligente en tiempo real y cómo estas funciones se relacionan entre sí.
RCS no es un diseño de sistema , ni es una especificación de cómo implementar sistemas específicos . RCS prescribe un modelo de control jerárquico basado en un conjunto de principios de ingeniería bien fundamentados para organizar la complejidad del sistema . Todos los nodos de control en todos los niveles comparten un modelo de nodo genérico. [1]
Además, RCS proporciona una metodología integral para diseñar, diseñar, integrar y probar sistemas de control. Los arquitectos dividen iterativamente las tareas y la información del sistema en subconjuntos más finos y finitos que son controlables y eficientes. RCS se centra en el control inteligente que se adapta a entornos operativos inciertos y no estructurados. Las preocupaciones clave son la sensación, la percepción, el conocimiento, los costos, el aprendizaje, la planificación y la ejecución. [1]
Una arquitectura de modelo de referencia es una forma canónica, no una especificación de diseño de sistema . La arquitectura del modelo de referencia RCS combina la planificación y el control del movimiento en tiempo real con la planificación de tareas de alto nivel, la resolución de problemas , el modelado mundial, la estimación recursiva del estado, el procesamiento de imágenes visuales y táctiles y el análisis de firmas acústicas. De hecho, la evolución del concepto RCS ha sido impulsada por un esfuerzo por incluir las mejores propiedades y capacidades de la mayoría, si no de todos, los sistemas de control inteligentes actualmente conocidos en la literatura, desde la subsunción hasta SOAR, desde pizarras hasta sistemas orientados a objetos. programación. [2]
RCS (sistema de control en tiempo real) se desarrolla en una arquitectura de agente inteligente diseñada para permitir cualquier nivel de comportamiento inteligente, hasta e incluyendo niveles humanos de desempeño. RCS se inspiró en un modelo teórico del cerebelo, la porción del cerebro responsable de la coordinación motora fina y el control de los movimientos conscientes. Fue diseñado originalmente para el control sensorial-interactivo dirigido a objetivos de manipuladores de laboratorio. A lo largo de tres décadas, ha evolucionado hasta convertirse en una arquitectura de control en tiempo real para máquinas herramienta inteligentes, sistemas de automatización de fábricas y vehículos autónomos inteligentes. [3]
RCS se aplica a muchos dominios de problemas, incluidos ejemplos de fabricación y ejemplos de sistemas de vehículos . Los sistemas basados en la arquitectura RCS se han diseñado e implementado en diversos grados para una amplia variedad de aplicaciones que incluyen la carga y descarga de piezas y herramientas en máquinas herramienta, el control de estaciones de trabajo de mecanizado, la realización de desbarbado y biselado robótico y el control de telerobots de estaciones espaciales, múltiples vehículos submarinos autónomos, vehículos terrestres no tripulados, sistemas de automatización de minería de carbón , sistemas de manejo de correo del servicio postal y sistemas de automatización operativa submarina. [2]
RCS ha evolucionado a través de una variedad de versiones a lo largo de varios años a medida que aumentaba la comprensión de la complejidad y sofisticación del comportamiento inteligente. La primera implementación fue diseñada para robótica sensorial interactiva por Barbera a mediados de los años 1970. [4]
En RCS-1, el énfasis estaba en combinar comandos con retroalimentación sensorial para calcular la respuesta adecuada a cada combinación de objetivos y estados. La aplicación consistía en controlar un brazo robótico con un sistema de visión de luz estructurada en tareas de seguimiento visual. RCS-1 estuvo fuertemente influenciado por modelos biológicos como el modelo de Marr-Albus, [5] y la computadora aritmética del modelo cerebeloso (CMAC). [6] del cerebelo . [2]
CMAC se convierte en una máquina de estados cuando algunas de sus salidas se retroalimentan directamente a la entrada, por lo que RCS-1 se implementó como un conjunto de máquinas de estados dispuestas en una jerarquía de niveles de control. En cada nivel, la orden de entrada selecciona efectivamente una conducta impulsada por la retroalimentación en forma de estímulo-respuesta . CMAC se convirtió así en el bloque de construcción del modelo de referencia del RCS-1, como se muestra en la figura.
Se utilizó una jerarquía de estos componentes básicos para implementar una jerarquía de comportamientos como la observada por Tinbergen [7] y otros. RCS-1 es similar en muchos aspectos a la arquitectura de subsunción de Brooks , [8] excepto que RCS selecciona comportamientos antes del hecho a través de objetivos expresados en comandos, en lugar de después del hecho a través de la subsunción. [2]
La próxima generación, RCS-2, fue desarrollada por Barbera, Fitzgerald, Kent y otros para el control de fabricación en el Centro de Investigación de Fabricación Automatizada (AMRF) del NIST a principios de la década de 1980. [9] [10] [11] El componente básico de RCS-2 se muestra en la figura.
La función H siguió siendo un ejecutor de tabla de estados de máquina de estados finitos . La nueva característica de RCS-2 fue la inclusión de la función G, que consta de varios algoritmos de procesamiento sensorial, incluidos algoritmos de análisis de burbujas y luz estructurada. Se utilizó RCS-2 para definir una jerarquía de ocho niveles que consta de niveles de control Servo, Transformación de coordenadas, E-Move, Tarea, Estación de trabajo, Celda, Taller e Instalación.
En realidad, sólo se construyeron los primeros seis niveles. Dos de las estaciones de trabajo AMRF implementaron completamente cinco niveles de RCS-2. El sistema de control para el robot de manipulación de materiales de campo (FMR) del ejército [12] también se implementó en el RCS-2, al igual que el proyecto de vehículo terrestre semiautónomo TMAP del ejército . [2]
RCS-3 fue diseñado para el proyecto de vehículos submarinos autónomos múltiples (MAUV) de NBS/DARPA [13] y fue adaptado para la arquitectura del sistema de control de telerobots modelo de referencia estándar (NASREM) de NASA/NBS desarrollada para el servicio telerobótico de vuelo de la estación espacial [14] El bloque de construcción básico de RCS-3 se muestra en la figura.
Las principales novedades introducidas en RCS-3 son el modelo mundial y la interfaz del operador. La inclusión del Modelo Mundial proporciona la base para la planificación de tareas y para el procesamiento sensorial basado en modelos. Esto llevó al refinamiento de los módulos de descomposición de tareas (TD) para que cada uno tenga un asignador de trabajo, un planificador y un ejecutor para cada uno de los subsistemas a los que se le asignó un trabajo. Esto corresponde aproximadamente a la jerarquía de control de tres niveles de Saridis [15] . [2]
RCS-4 ha sido desarrollado desde la década de 1990 por la División de Sistemas de Robots del NIST. El bloque de construcción básico se muestra en la figura). La principal novedad de RCS-4 es la representación explícita del sistema de Juicio de Valor (VJ). Los módulos VJ proporcionan al sistema de control RCS-4 el tipo de funciones proporcionadas al cerebro biológico por el sistema límbico . Los módulos VJ contienen procesos que calculan el costo , beneficio y riesgo de las acciones planificadas, y que asignan valor a objetos , materiales, territorio, situaciones, eventos y resultados. Las variables de estado de valor definen qué objetivos son importantes y qué objetos o regiones deben ser atendidos, atacados, defendidos, asistidos o sobre los cuales se debe actuar de otra manera. Los juicios de valor, o funciones de evaluación, son una parte esencial de cualquier forma de planificación o aprendizaje. George Pugh ha abordado la aplicación de juicios de valor a sistemas de control inteligentes. [16] La estructura y función de los módulos VJ se desarrollan de forma más completa en Albus (1991). [2] [17]
RCS-4 también utiliza el término generación de comportamiento (BG) en lugar del término RCS-3 descomposición de tarea 5 (TD). El propósito de este cambio es enfatizar el grado de toma de decisiones autónoma . RCS-4 está diseñado para abordar aplicaciones altamente autónomas en entornos no estructurados donde las comunicaciones de gran ancho de banda son imposibles, como vehículos no tripulados que operan en el campo de batalla , en las profundidades submarinas o en planetas distantes . Estas aplicaciones requieren juicios de valor autónomos y capacidades de percepción sofisticadas en tiempo real . RCS-3 seguirá utilizándose para aplicaciones menos exigentes, como fabricación , construcción o telerobótica para operaciones en el espacio cercano o submarinas poco profundas, donde los entornos están más estructurados y el ancho de banda de comunicación con una interfaz humana está menos restringido. En estas aplicaciones, los juicios de valor a menudo están representados implícitamente en los procesos de planificación de tareas o en la entrada del operador humano. [2]
En la figura, se resume en seis pasos un ejemplo de la metodología RCS para diseñar un sistema de control para la conducción autónoma en carretera en condiciones de tráfico cotidianas. [18]
El resultado del paso 3 es que cada unidad organizativa tiene para cada comando de entrada una tabla de estado de reglas de producción ordenadas, cada una adecuada para ser ejecutada por un autómata de estado finito extendido (FSA). La secuencia de subcomandos de salida necesarios para ejecutar el comando de entrada se genera por situaciones (es decir, condiciones de bifurcación) que hacen que el FSA pase de un subcomando de salida al siguiente. [18]
Basado en la arquitectura del modelo de referencia RCS, el NIST ha desarrollado una biblioteca de software del sistema de control en tiempo real . Este es un archivo de código, scripts, herramientas, archivos MAKE y documentación gratuitos de C++, Java y Ada desarrollados para ayudar a los programadores de software que se utilizarán en sistemas de control en tiempo real , especialmente aquellos que utilizan la arquitectura de modelo de referencia para el diseño de sistemas inteligentes. [19]