Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai,...

19
Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space JFPDA – 12 mai 2006

Transcript of Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai,...

Page 1: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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

Page 2: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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 ...

Page 3: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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)

Page 4: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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

Page 5: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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

Page 6: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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

Page 7: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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

Page 8: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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

Page 9: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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.)

Page 10: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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é

Page 11: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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

Page 12: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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é

Page 13: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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

Page 14: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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

Page 15: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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.

Page 16: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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 /

Page 17: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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

Page 18: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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

Page 19: Intégrer des planificateurs dans le logiciel de vol d'un satellite autonome Solange Lemai, Marie-Claire Charmeau CNES Xavier Olive Alcatel Alenia Space.

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