Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome
Solange Lemai, Marie-Claire CharmeauCNES
Xavier Olive Alcatel Alenia Space
JFPDA – 12 mai 2006
JFPDA - 12 mai 20062
Plan
Autonomie pour les systèmes spatiaux
– Besoins et bénéfices
Architecture décisionnelle
– Architecture sur trois niveaux hiérarchiques
Exemple de niveau décisionnel
– Intégration et coordination de plusieurs planificateurs spécialisés
Exécutif décisionnel
– Un superviseur générique à base d'automates pour contrôler les planificateurs et l'exécution du plan
Expérimentation
– Implémentation du niveau décisionnel sur un banc de test à Alcatel Alenia Space
A suivre ...
JFPDA - 12 mai 20063
Besoins/fonctionnalités
Autonomie pour les système spatiaux
autonomie – maintien à poste– contrôle d'orbite (calcul à bord des manoeuvres de correction d'orbite)
– guidage (calcul des consignes d'attitude, des profils pour sat. agile)
– orbitographie (calcul des données orbitales, ...) autonomie – FDIR
– diagnostic de panne– reconfiguration automatique– reprise de mission autonome
autonomie – commande/contrôle– programmation sur événement
(déclenchement de commandes basé sur la surveillance d’événements: date, événement orbital, alarme FDIR, etc.)
– planification (élaboration des plans d’activités des charges utiles et/ou de la plate-forme à partir d’objectifs fournis par le sol)
– reprogrammation dynamique (adaptation du plan d’activités en fonction du contexte détecté à bord: nouveaux objectifs, variation des ressources)
JFPDA - 12 mai 20064
Bénéfices
Autonomie pour les système spatiaux
Missions observation/surveillance de la Terre Missions lointaines
Bénéfices del’autonomie
Alléger lacharge deséquipes ausol
Améliorer laréactivité de lamission
Assurer lacontinuité du service
Optimiser leretourscientifique
Phasescritiques
Fonctionnalités Programmationsur événements
Orbitographie
Analyse desdonnées
Planification
Reprogrammationdynamique
FDIRévoluée
Analyse desdonnées
Planification
Reprogrammationdynamique
Programmationsur événements
FDIR évoluée
JFPDA - 12 mai 20065
Expérimentation Fonctionnalités
PROBA (ESA) Orbitographie (guidage)Planification
DEMETER (CNES)
Orbitographie (ctrl orbite aut.)
Clementine (NASA)
OrbitographieProgrammation sur événements
Deep Space One - Remote Agent
(NASA)
Orbitographie (navigation)Programmation sur événementsPlanificationReprogrammation dynamiqueFDIR évoluée
Earth Orbiting 1, Three Corner Sat
(NASA)
Orbitographie (ctrl orbite aut.)Analyse des donnéesProgrammation sur événementsPlanificationReprogrammation dynamiqueFDIR évoluée
Exemples d'expérimentation en vol
Autonomie pour les système spatiaux
JFPDA - 12 mai 20066
Niveaux hiérarchiques
Architecture décisionnelle
Niveau équipements
Niveau fonctionnel Propagateur orbiteGuidage
Calcul manoeuvres
Analyse données
COMFDIR
THERMFDIR
NRJFDIR
SCAOFDIR
NAVFDIR
CUFDIR
Niveau décisionnel
Gestion planGestion requêtes
Planificateurs
Estimation durées & rsces
Exécutif décisionnel
Suivi de l'état
Niveau opérationnel
Exécutif opérationnel
FDIR opérationnel
Gestion Interfaces bord/sol
Niveau équipementsNiveau équipements
Niveau fonctionnel Propagateur orbiteGuidage
Calcul manoeuvres
Analyse données
COMFDIR
THERMFDIR
NRJFDIR
SCAOFDIR
NAVFDIR
CUFDIR
Niveau fonctionnel Propagateur orbiteGuidage
Calcul manoeuvres
Analyse données
COMFDIR
COMFDIR
THERMFDIR
THERMFDIR
NRJFDIR
NRJFDIR
SCAOFDIR
SCAOFDIR
NAVFDIR
NAVFDIR
CUFDIR
CUFDIR
Niveau décisionnel
Gestion planGestion requêtes
PlanificateursPlanificateurs
Estimation durées & rsces
Exécutif décisionnelSuivi de l'état
Niveau opérationnel
Exécutif opérationnel
FDIR opérationnel
Gestion Interfaces bord/sol
Niveau opérationnel
Exécutif opérationnel
FDIR opérationnel
Gestion Interfaces bord/sol
Niveau opérationnel
Exécutif opérationnel
FDIR opérationnel
Gestion Interfaces bord/sol
Niveaux hiérarchiques – temps de réaction différents, – représentations de données
plus ou moins abstraites – vision de l'état du système
locale ou globale FDIR répartie
– détection et reconfiguration locale dans les sous-systèmes du niveau fonctionnel,
– diagnostic et reconfiguration globale au niveau opérationnel,
– prévention au niveau décisionnel
Interactions bord/sol – requêtes, plan, OBCP, TC
JFPDA - 12 mai 20067
Niveau fonctionnel
Architecture décisionnelle
Niveau équipements
Niveau fonctionnel Propagateur orbiteGuidage
Calcul manoeuvres
Analyse données
COMFDIR
THERMFDIR
NRJFDIR
SCAOFDIR
NAVFDIR
CUFDIR
Niveau décisionnel
Gestion planGestion requêtes
Planificateurs
Estimation durées & rsces
Exécutif décisionnel
Suivi de l'état
Niveau opérationnel
Exécutif opérationnel
FDIR opérationnel
Gestion Interfaces bord/sol
Niveau équipementsNiveau équipements
Niveau fonctionnel Propagateur orbiteGuidage
Calcul manoeuvres
Analyse données
COMFDIR
THERMFDIR
NRJFDIR
SCAOFDIR
NAVFDIR
CUFDIR
Niveau fonctionnel Propagateur orbiteGuidage
Calcul manoeuvres
Analyse données
COMFDIR
COMFDIR
THERMFDIR
THERMFDIR
NRJFDIR
NRJFDIR
SCAOFDIR
SCAOFDIR
NAVFDIR
NAVFDIR
CUFDIR
CUFDIR
Niveau décisionnel
Gestion planGestion requêtes
PlanificateursPlanificateurs
Estimation durées & rsces
Exécutif décisionnelSuivi de l'état
Niveau opérationnel
Exécutif opérationnel
FDIR opérationnel
Gestion Interfaces bord/sol
Niveau opérationnel
Exécutif opérationnel
FDIR opérationnel
Gestion Interfaces bord/sol
Niveau opérationnel
Exécutif opérationnel
FDIR opérationnel
Gestion Interfaces bord/sol
Communication– réception TC, émissionTM, ctrl
antennes Gestion du ctrl thermique Gestion de l'alimentation SCAO
– estimation d'attitude– navigation– propagation d'orbite– guidage– calcul des manoeuvres de
correction d'orbite– ctrl des actionneurs
Charge utile– gestion des instruments dédiés à
la mission
JFPDA - 12 mai 20068
Niveau opérationnel
Architecture décisionnelle
Niveau équipements
Niveau fonctionnel Propagateur orbiteGuidage
Calcul manoeuvres
Analyse données
COMFDIR
THERMFDIR
NRJFDIR
SCAOFDIR
NAVFDIR
CUFDIR
Niveau décisionnel
Gestion planGestion requêtes
Planificateurs
Estimation durées & rsces
Exécutif décisionnel
Suivi de l'état
Niveau opérationnel
Exécutif opérationnel
FDIR opérationnel
Gestion Interfaces bord/sol
Niveau équipementsNiveau équipements
Niveau fonctionnel Propagateur orbiteGuidage
Calcul manoeuvres
Analyse données
COMFDIR
THERMFDIR
NRJFDIR
SCAOFDIR
NAVFDIR
CUFDIR
Niveau fonctionnel Propagateur orbiteGuidage
Calcul manoeuvres
Analyse données
COMFDIR
COMFDIR
THERMFDIR
THERMFDIR
NRJFDIR
NRJFDIR
SCAOFDIR
SCAOFDIR
NAVFDIR
NAVFDIR
CUFDIR
CUFDIR
Niveau décisionnel
Gestion planGestion requêtes
PlanificateursPlanificateurs
Estimation durées & rsces
Exécutif décisionnelSuivi de l'état
Niveau opérationnel
Exécutif opérationnel
FDIR opérationnel
Gestion Interfaces bord/sol
Niveau opérationnel
Exécutif opérationnel
FDIR opérationnel
Gestion Interfaces bord/sol
Niveau opérationnel
Exécutif opérationnel
FDIR opérationnel
Gestion Interfaces bord/sol
Exécutif opérationnel– exécution du plan de travail– gestion des modes du
satellite– appliquer les actions de
reconfiguration FDIR opérationnel
– détection, localisation et planification d'actions de reconfiguration
Gestion interfaces Bord/Sol– distribution des "commandes"
venant du sol– configuration de la télémétrie
JFPDA - 12 mai 20069
Niveau décisionnel
Architecture décisionnelle
Niveau équipements
Niveau fonctionnel Propagateur orbiteGuidage
Calcul manoeuvres
Analyse données
COMFDIR
THERMFDIR
NRJFDIR
SCAOFDIR
NAVFDIR
CUFDIR
Niveau décisionnel
Gestion planGestion requêtes
Planificateurs
Estimation durées & rsces
Exécutif décisionnel
Suivi de l'état
Niveau opérationnel
Exécutif opérationnel
FDIR opérationnel
Gestion Interfaces bord/sol
Niveau équipementsNiveau équipements
Niveau fonctionnel Propagateur orbiteGuidage
Calcul manoeuvres
Analyse données
COMFDIR
THERMFDIR
NRJFDIR
SCAOFDIR
NAVFDIR
CUFDIR
Niveau fonctionnel Propagateur orbiteGuidage
Calcul manoeuvres
Analyse données
COMFDIR
COMFDIR
THERMFDIR
THERMFDIR
NRJFDIR
NRJFDIR
SCAOFDIR
SCAOFDIR
NAVFDIR
NAVFDIR
CUFDIR
CUFDIR
Niveau décisionnel
Gestion planGestion requêtes
PlanificateursPlanificateurs
Estimation durées & rsces
Exécutif décisionnelSuivi de l'état
Niveau opérationnel
Exécutif opérationnel
FDIR opérationnel
Gestion Interfaces bord/sol
Niveau opérationnel
Exécutif opérationnel
FDIR opérationnel
Gestion Interfaces bord/sol
Niveau opérationnel
Exécutif opérationnel
FDIR opérationnel
Gestion Interfaces bord/sol
"Planificateurs"– raisonner à plus ou moins long
terme– "généraliste" ou "spécialisé"– plus ou moins réactif– dédié à la modification de plan
Gestion requêtes– maintenir une liste de requêtes et
leur statut "Planning experts"
– fournir en ligne des estimations sur les délais, durées d'activité et consommation de ressource
Gestion du plan courant Suivi de l'état (prévention) Exécutif décisionnel Modes (inactif, avec/sans planif.)
JFPDA - 12 mai 200610
Mission
Exemple de niveau décisionnel
Thèse ONERA/CNES – Sylvain Damiani"Gestion d'une constellation de satellites de surveillance de la Terre: autonomie et coordination"
- Orbitographie- Analyse des données- Planification- Reprogrammation dynamique→ Réactivité
JFPDA - 12 mai 200611
Exemple de niveau décisionnel
Niveau décisionnel
Gestion planGestion requêtes d'observations
Exécutif décisionnelSuivi de l'état
Estimateur téléd.
Planif télédéchargements
Règle décision simple
Planif. observations
JFPDA - 12 mai 200612
Coordination de planificateurs spécialisés
Exemple de niveau décisionnel
Planificateurs comportements et conditions d'activation variés
– interruptible/non interruptible, durée limitée, activation sur événement ... coordination
– utilisation des résultats d'un autre planificateur, – choix entre plusieurs planificateurs selon le contexte
planificateur = activité à contrôler au même titre que les activités du plan
contrôle = décider du lancement ou de l'arrêt d'une activité
Exécutif décisionnel Rôle : contrôler l'exécution des activités du plan et contrôler les planificateurs But : superviseur indépendant de l'application qui contrôle des activités à
comportement varié
JFPDA - 12 mai 200613
Schéma de contrôle générique
Deux automates d'état pour gérer une activité en attente de lancement
– [déclencheur, préconditions, délai] une activité en cours d'exécution
– [conditions à maintenir pendant l'exécution]
– [durée maximale]– [déclencheur de l'arrêt]– [conditions pour lancer une procédure
d'arrêt]– [attente de bilan] – ...
Conditions "contingentes", "contrôlables"
Exécutif décisionnel
Ltm/ LtmA
TrStart/startA, set(Ltm)
Lca
Ltm/LtmA
IdleStarting
Starting
Enable Starting
Condition
Lca/Alc
(Lc&Lca& activity_is_in_state_IdleExecution)/exec, reset(Ltm)
Activité en attente
JFPDA - 12 mai 200614
Implémentation
Exécutif décisionnel
CV
Interface
Events, commands
Events, commands
TrStart, TrStop, fR, exec
A(p)
Exécutif défini par :
– un ensemble d'activités, (ex. observation, planificateur d'observations, etc.)
– des signaux en entrée et sortie
– une instanciation du schéma de contrôle pour chaque activité
– des "variables de contrôle" représentant le contexte d'exécution et leur évolution en fonction des signaux entrants et sortants
JFPDA - 12 mai 200615
Instanciation pour l'application étudiée
Exécutif décisionnel
7 activités
– 2 pour les activités du plan (observation et télédéchargement)
– 4 pour les planificateurs
– 1 pour gérer le mode du niveau décisionnel
10 signaux entrants (alarme du suivi de l'état, alarme du niveau opérationnel, bilans sur l'exécution des activités du plan, événement signalant l'insertion d'activités dans le plan, etc.)
22 signaux sortants (commandes d'activation et d'arrêt ...)
6 variables de contrôle
– visibilité avec une station sol
– plan de télédéchargement disponible pour la prochaine fenêtre de visibilité
– etc.
JFPDA - 12 mai 200616
Schéma pour le planificateur d'observations
Exécutif décisionnel
TrStart RequestEvent(NEW) orRequestEvent(ABANDONED) orReportEvent(OBSERVATION,*) orAlarmEvent
Ec True TrStop /
startA / Eca True Sc True
Lc is_in_state_IdleExecution(OBSERVATION) and plugged
Aec / Sca True
Lca (updatedRoughPlan or detailedDownloadPlan)and is_in_state_IdleExecution(OBS_PLANNER)
Etm ∞ Asc /
Alc if (¬is_in_state_IdleExecution(OBS_PLANNER)){ TrStop(OBS_PLANNER);}if (¬updatedRoughPlan and ¬detailedDownloadPlan){ TrStart(ROUGH_DOWNLOAD_PLANNER);}
Ectm 0 Stm 0
Ltm Durée maximale de planification de RoughDownloadPlanner
Scmd Planning_StopObservationPlanner
Lcmd Planning_StartObservationPlanner StmA If (¬obsPlanEmpty){PlanDatabase_EraseActivityTimeline(OBSERVATION)}
LtmA / fR /
Exec / exA /
JFPDA - 12 mai 200617
Architecture Plug&Play Alcatel Alenia Space
Expérimentation
Services(TM, TC, temps, ...)
OS etHardware Dependent Software
Hardware
SCAOGestionbatterie
... GestionOBCP
Composantsdécisionnels
Bus logiciel
Niveau fonctionnel Niveauopérationnel
Niveau décisionnel
JFPDA - 12 mai 200618
Maquette
Expérimentation
OBCP
"exécutif opérationnel"
PlanningPlan
DatabaseExecutive
DataAnalysis
SatSimu
Niveau décisionnel
Niveau fonctionnel
simule la détection de feux
simule l'exécution des activités et l'évolution de l'état du satellite
OrbitPropagator
simule le calcul des évnts orbitaux (survols des zones à observer, fenêtres de visibilité, fenêtres
d'éclairement)
- gestion des requêtes- planificateurs d'observations(anytime et règle de décision simple)- planificateurs de télédéchargement
- gestion du plan courant- suivi de l'état
- automate- contrôle les planificateurs- interface avec le niveau opérationnel
JFPDA - 12 mai 200619
Test des performances
Espace mémoire limité, allocation statique
– exploration de l'espace d'états, discrétisation du temps et des niveaux de ressources→ compromis qualité de la décision / mémoire
– ex. pour le planificateur d'observationsNbNiveauxEnergie * NbNiveauxMémoire * NbRequêtes(structure de données de 20 Mo)
A suivre...
OBCPPlan
DatabaseExecutive
DataAnalysis
SatSimu
Niveau décisionnel
Niveau fonctionnel
OrbitPropagator
Planning