

25ème siècle. La flotte interstellaire terrienne vous a affecté à l’élaboration du système de contrôle du tout dernier vaisseau spatial de la flotte : l’USS Orville.
Le vaisseau est équipé d’un moteur à impulsion électromagnétique MIE3 situé à l’arrière, qui lui permet de se déplacer rapidement à l’intérieur des systèmes solaires. Il possède également 20 petits moteurs auxiliaires (5 MA4, 10 MA8 et 5 MA22) servant aux arrimages aux stations spatiales de la flotte (déplacements de précision). Enfin, il possède un système hyperdrive SH9 (les 3 anses bleues à l’arrière du bâtiment) lui permettant de passer en vitesse luminique pour accéder à des galaxies lointaines.
On peut choisir la puissance des différents moteurs la plus adéquate au trajet prévu. Pour cela, comme spécifié dans la norme ISO9999, on sélectionne une puissance sur une échelle de 0 et 100, 0 correspondant à un moteur arrêté et 100 à un moteur poussé à fond.
Lorsque le vaisseau utilise le moteur à impulsion MIE3, il peut également utiliser les moteurs auxiliaires MA4 afin d’éviter des collisions, ce qui est pratique lorsque l’on navigue dans des champs d’astéroïdes. En revanche, quand l’hyperdrive est utilisé, les moteurs MIE3 et MA4 doivent absolument être coupés.
L’USS Orville est équipé de deux boucliers, l’un à l’avant de type B24 et l’autre à l’arrière de type B10. Il est possible de sélectionner la puissance de chaque bouclier indépendamment de l’autre. Comme pour les moteurs, l’échelle de puissance varie de 0 à 100. La consommation énergétique des boucliers est fonction de leur puissance, mais celui à l’avant consomme plus d’énergie que l’autre car il est plus renforcé.
Lorsque l’hyperdrive est activé, les boucliers doivent être automatiquement coupés afin de conserver l’énergie du vaisseau (de toutes façons, ils ne serviraient à rien à une telle vitesse).
Le vaisseau possède 1000 scanners laser de proximité de type S00 répartis sur toute la surface du vaisseau. Ceux-ci ont pour objectif de détecter les objets à proximité du Orville. Exploitant des IA, ils sont capables d’indiquer le type d’objet détecté ainsi que sa position.
L’USS Orville étant un vaisseau d’exploration, il embarque également 5 scanners longue distante S42 permettant d’inclure dans la carte spatiale de la flotte de nouvelles planètes et galaxies qu’il pourrait découvrir. Ceux-ci indiquent également les types d’objets détectées ainsi que leurs positions.
Bien qu’étant un vaisseau d’exploration, le navire est équipé de 30 canons laser afin de pouvoir se protéger, par exemple pour détruire des astéroïdes ou des corps étrangers mettant en péril sa coque. Il y en a 18 à l’avant et 12 à l’arrière. Lorsqu’ils tirent, le bouclier de leur position (avant, arrière) doit brièvement être coupé afin de laisser passer le rayon laser. Le capitaine du Orville peut demander à ce que l’on détruise un objet donné via ces cannons mais, le plus souvent, c’est le système de navigation qui les utilise pour éviter des collisions.
La navigation est réalisée tout d’abord en exploitant un algorithme de planification d’itinéraires (Dijkstra?) puis en appliquant le plan proposé. Ce dernier est constitué d’une séquence de quadruplets (v, c, t), avec v la vitesse souhaitée, c le cap à suivre et t le temps de parcours à cette vitesse et selon ce cap. Ces triplets sont ensuite transformés en spécifications de puissances des différents moteurs. Enfin, le plan est appliqué et le vaisseau se déplace jusqu’à sa destination. Toutefois, si un scanner détecte un objet proche sur la trajectoire du vaisseau, une procédure d’évitement ou de destruction de l’objet par cannon laser est exécutée, qui a priorité sur l’exécution du plan. En cas d’évitement, le navire ayant dévié de la trajectoire prévue, le plan de navigation est mis à jour. Enfin, si le niveau d’énergie du vaisseau est en dessous d’un certain niveau (en principe 30%), le planificateur d’itinéraire réduit la vitesse des quadruplets de 20% et augmente le temps de parcours en conséquence.
Chacun des éléments du vaisseau décrits précédemment contient des capteurs qui permettent d’indiquer son état (activé, désactivé, en panne) et de modules de réparation automatique permettent de résoudre les pannes.
Les composants consomment tous de l’énergie et il est important de maîtriser cette dépense car les stations spatiales permettant de recharger les générateurs d’énergie ne courent pas les galaxies. Fort heureusement, lorsque le niveau d’énergie est trop bas et qu’il n’y a pas urgence à se déplacer, on peut réduire la puissance des différents composants et exploiter des panneaux solaires positionnés sur une bonne partie de la surface du navire afin de recharger les générateurs.
Question :
Écrivez en Java le programme du système de contrôle de l’USS Orville.