99
edits
(JSBSim Flight Dynamics Model Validation Effort: traducido) |
(New Control System Component in JSBSim: traducido) |
||
Line 60: | Line 60: | ||
[[JSBSim]] (uno de los modelos de vuelo presentes en FlightGear) actualmente está siendo validado en función de un conjunto de simulaciones en varios centros de la NASA. Un conjunto de casos de verificación está bajo desarrollo y se espera que sean publicados el próximo año. Los casos de verificación son numerosos y rigurosos, y abarcan escenarios atmosféricos y orbitales. Las primeras comparaciones entre JSBSim y las otras simulaciones muestran una muy buena concordancia para las pruebas atmosféricas realizadas hasta ahora. | [[JSBSim]] (uno de los modelos de vuelo presentes en FlightGear) actualmente está siendo validado en función de un conjunto de simulaciones en varios centros de la NASA. Un conjunto de casos de verificación está bajo desarrollo y se espera que sean publicados el próximo año. Los casos de verificación son numerosos y rigurosos, y abarcan escenarios atmosféricos y orbitales. Las primeras comparaciones entre JSBSim y las otras simulaciones muestran una muy buena concordancia para las pruebas atmosféricas realizadas hasta ahora. | ||
=== | === Nuevo Componente del Sistema de Control en JSBSim === | ||
Un nuevo componente del sistema de control ha sido añadido recientemente a JSBSim. Este es llamado el componente distribuidor. Este artículo es una introducción rápida al componente distribuidor, e incluye una descripción de una forma en la que ha sido usada. | |||
Sabemos que el componente switch posee un valor por defecto, tal que el switch toma ese valor por defecto si ninguna de las condiciones de prueba se cumple. Además, la primera condición de prueba que resulta verdadera determina el valor que toma el switch. | |||
Con el componente distribuidor, el componente no toma un valor por sí mismo (de hecho, el valor del componente - el cual todavía debe ser indentificado - es siempre cero). | |||
La sintáxis exacta del componente distribuidor es la siguiente: | |||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<distributor name="name/is/irrelevant" type="exclusive|inclusive"> | <distributor name="name/is/irrelevant" type="exclusive|inclusive"> | ||
Line 82: | Line 82: | ||
</case> | </case> | ||
... <!-- | ... <!-- Casos opcionales adicionales --> | ||
</distributor> | </distributor> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Este es uno de los más potentes, pero complejos, componentes en el conjunto de componentes de control de JSBSim. El componente distribuidor posee uno o más elementos <case>. Cada <case> puede contener un elemento <test> (el cual puede contener sentencias de prueba condicional, o uno o más <test> anidados). Además, cada <case> tendrá una o más propiedades con un valor a ser establecido. Un elemento <case> sin <test>'s siempre será ejecutado (los valores de sus propiedades son según se estableció). Un componente distribuidor puede tener tener un tipo exclusivo o inclusivo. Un distribuidor exclusivo sólo ejecutará el primer elemento <case> que resulte verdadero. Un distribuidor inclusivo, ejecutará todos los elementos <case> para el cual la prueba resulte verdadera. En ambos casos, todos y cada uno de los elementos <case> que no tengan test siempre serán ejecutados en el orden en que son encontrados. | |||
Cada elemento <case> tendrá uno o más valores de propiedad a ser fijadas, y cada elemento <case> no necesita poseer el mismo conjunto de propiedades a ser establecido. | |||
Este componente es muy útil in casos donde (por ejemplo) la guía, navegación y leyes de control están definidos, donde - para ciertos modos de operación - varias estrategias de sistemas de control y valores objetivo deben ser fijados simultáneamente. El componente distribuidor puede también servir como una suerte de relé, presentando un elemento <case> sin test, y varios elementos <property>. | |||
Acá hay un ejemplo donde se podría tener un conjunto de “modos” secuenciales que un vehículo de lanzamiento podría recorrer en orden ascendente: | |||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<?xml version="1.0"?> | <?xml version="1.0"?> | ||
Line 165: | Line 165: | ||
</channel> | </channel> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Como puedes ver, cada modo ocurre secuencialmente y provoca que un número de propiedades sea fijada en cada elemento <case>. Nótese también las definiciones usadas en los elementos y atributos - estos pueden ser usados para hacer el código más legible y comprensible. Definiciones (similar a #defines en C/C++) son declarados al principio del archivo usando el constructor !ENTITY. | |||
=== FGRun repository changes === | === FGRun repository changes === |
edits