See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Author Topic: [api]Mettre un lander dans un lanceur  (Read 3790 times)

0 Members and 1 Guest are viewing this topic.

Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
03 March 2007, 16:45:27
Pour des raisons évidentes (atterrissage!), un lander utilise traditionnellement un moteur hover et donc un mesh de
lander n'offre pas vraiment la possibilité d'être positionner dans un lanceur.

Est-ce que l'api offrirait un moyen quelconque de pallier à çà, j'entrevois deux solutions mais je ne sais pas du tout si
elles sont possibles:
1/ rotation du modèle et déclaration d'un état "launch" (encore faudrait-il être capable de détecter cet état et
j'imagine çà très peu probable dans le cas d'un lanceur Multistage)

2/ Une dll pour le lancement avec le mesh orienté correctement pour le lancement (appellons-le msh/dll launch) qui une fois séparée du lanceur, par le biais d'une touche ferait apparaitre le lander selon un vecteur position et un vecteur direction relatif à la position du mesh/dll launch. Bien entendu le vaisseau temporaire(mesh/dll launch) doit être détruit par la même action.

Est-ce que je rêve en espérant que cela est possible?



Message modifié ( 03-03-2007 18:36 )

------------

no matter.

Offline laserpithium

  • Legend
  • ******
  • Posts: 1473
  • Karma: 0
Reply #1 - 04 March 2007, 10:09:08
Tout est possible dans l'API (elle est vraiment très bien faite).

A noté que je ne comprends pas très bien ton problème : pourquoi ne peux tu pas accrocher "bêtement" le lander sous la coiffe
du lanceur ?
Si c'est la présence du hoover qui gène, tu peux toujours créér un berceau, attaché au dernier étage du lanceur et qui
supporte le lander...
Ou alors déclarer le point d'attachement lander/fusée côté lander selon l'axe x ou y, de telle sorte que le lander soit
naturellement incliné...

Après, ça dépend des outils que tu veux utiliser : si c'est une DLL en dur, alors pratiquement tout est possible.
Si c'est par un fichier config en utilisant spacecraft.dll, alors là forcément tu as moins le choix. (et je ne sais pas ce
qui est possible ou pas avec le spacecraft.dll ou multistage.dll que je n'ai jamais utilisés).



La sagesse me cours après, mais je suis plus rapide
Si Dieu existe, butons-le !

Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
Reply #2 - 04 March 2007, 16:23:00
Le lanceur est un lanceur multistage donc aucune rotation du mesh mis en charge utile possible.
Avec Energia il n'y aurait aucun problème, puisqu'on peut faire une rotation des charges utiles!

En image, tu comprendras mieux pourquoi...


A noter que pour pouvoir se servir d'un lander de type LEM correctement, il est absolument obligatoire que le moteur
principal soit le hover. L'ennui c'est que du coup on ne se retrouve pas "dans le même sens" qu'un deltaglider par exemple.

Le mieux serait de faire Ariane5 avec une dll et de prévoir la rotation des payloads dans le code du lanceur (Kulch a réussit pour Energia, c'est donc possible). Malheureusement, pour une fusée multi-étage avec un autopilote et donc cette rotation possible des charges utile, je ne sais pas encore faire.



Message modifié ( 04-03-2007 16:29 )

------------

no matter.

Offline Pagir

  • Legend
  • ******
  • Posts: 4522
  • Karma: 1
Reply #3 - 04 March 2007, 17:47:58
Comme vous le savez, je n'y connais rien en prog, et tout ça.

Par contre, il est possible de faire un lander avec un propulseur "classique" plutôt qu'un hoover: y'a au moins un
exemple sur Orbithangar. D'ailleurs, c'est presque plus facile à poser sur la lune qu'un hoover, puisqu'on reste en
rétrograde.

Je sais pas si je dis une bêtise totale, mais ne serait-il pas possible de changer le point de vue pour que dans le
vaisseau on regarde "de côté", ce qui ferait qu'automatiquement le propulseur deviendrait un hoover?

Mais plus important, suis-je clair? :wonder:

Pagir


Pagir

Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
Reply #4 - 04 March 2007, 18:03:39
OOOOOOH, non je ne suis pas séduit même si j'aime bien faire des alunissages direct, sans passer par la case
insertion en orbite.
Je bascule en HLEVEL dès que j'ai une vitesse verticale pouvant être controllée par les hovers. C'est pour moi la seule
manière réaliste de se poser pour un engin habité.
Bien sûr, pour une sonde, je n'hésiterais pas une seconde et je choisirais ta méthode.

Quoiqu'il arrive, il existe un lanceur capable d'envoyer notre lander sur la Lune correctement, Energia qui gère très
bien la rotation des payloads alors que j'ai souvent lu çà et là qu'une certaine limitation de l'api.... !
A moi, d'essayer de reproduire çà pour Ariane5 (dans très très très longtemps j'ai bien peur ^^)



Message modifié ( 04-03-2007 18:05 )

------------

no matter.

Offline Momo

  • Legend
  • ******
  • Posts: 2682
  • Karma: 1
Reply #5 - 04 March 2007, 19:35:22
Quote
Pagir a écrit:
Par contre, il est possible de faire un lander avec un propulseur "classique" plutôt qu'un hoover: y'a au moins un
exemple sur Orbithangar. D'ailleurs, c'est presque plus facile à poser sur la lune qu'un hoover, puisqu'on reste en
rétrograde.


oui je confirme! c'est simple comme tous... mais pas de MFD land ou d'autopilote... donc tous en manuel!

M'enfin, moi aussi j'ai le même prb avec mon module si j'utilise des hoovers...

le seul idée que j'ai, c'est de faire une rotation du module a la separartion en un temps tres tres court, comme sa plus de
prb, mais faut attendre la future version de spc4 de Vinka...


Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
Reply #6 - 04 March 2007, 19:49:25
Quote
avec mon module si j'utilise des hoovers...

Moi, j'aime bien les aspirateurs Hoover mais je préfère utiliser un hover sur un lander. Sinon, peut-être que cela
créera une Hoover-panic tout en sachant que le barrage Hoover freinera cette même panique.
Désolé, j'ai pas pu résister ;)
Pour ceux qui ne comprennent pas http://fr.wikipedia.org/wiki/Barrage_Hoover
http://fr.wikipedia.org/wiki/Herbert_Hoover

Comme toi, j'attends patiammant spc4 mais aussi Multistage3!
Comme je le dis plus haut, suivant le poids tu peux encore envoyer ton engin avec Energia en attendant de trouver une Ariane compatible. J'ai réussi à envoyer 16T sans problèmes vers la Lune.
Sinon, je vais essayer de faire un étage Tli avec sa propre dll comprenant donc la possibilité de positionner le véhicule comme souhaité. Ce sera toujours plus simple pour moi que de refaire complètement Ariane5, je n'ai pas assez de connaissance pour faire un vrai lanceur C++ actuellement, notamment pour l'autopilote car quand on vise une inclinaison précise avec à l'esprit une consommation de carbu optimale, l'autopilote reste une valeur sûre.



Message modifié ( 04-03-2007 20:17 )

------------

no matter.

Offline Momo

  • Legend
  • ******
  • Posts: 2682
  • Karma: 1
Reply #7 - 04 March 2007, 20:20:37
:lol:... dsl mon doigt est resté 1s de trop :lol:

ta bien de la chance de connaitre un poil le C++... sa facilite les possibilités... une DLL sur le dernier stage est une très
bonne idée! surtout pour une TLI...


Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
Reply #8 - 04 March 2007, 20:34:49
Quote
ta bien de la chance de connaitre un poil le C++... sa facilite les possibilités
Entièrement d'accord, mais vraiment ne crois pas que je connaisse grand chose, je suis surtout très bien aidé  (merci
le forum) et il y a de très bon exemples de codes source pour débuter. Il y a même le site orbiterwiki.


------------

no matter.

Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #9 - 04 March 2007, 22:58:35
Pourquoi ne t'inspire tu pas du code de lancement de projectiles qui est dans le tread "pruneaux"

A l'aide d'un code equivalent brainstorm braistorm à fait l'hermes

par exemple tu crée, comme le dis Laserpithium, un berceaux avec son DLL  qui n'a méme pas besoins de thruster
dans ce DLL tu ajoute au mesh du berceaux le mesh de ton lander orienté de façon correcte
Tu monte le tout sur l' Ariane sans avoir besoins de lui créer un DLL
Puis quand tu effectue le separation tu largue le berceau avec le mesh du lander.
dans le code du berceau tu n'as plus qu'a detecter ce detachement pour creer le vaisseaux lander et en méme temps
detruire le mesh du lander

regarde dans l'exemple Atlantis la

// preload meshes
   hOrbiterMesh = oapiLoadMeshGlobal ("Atlantis");
   hTankMesh    = oapiLoadMeshGlobal ("Atlantis_tank");
   hSRBMesh     = oapiLoadMeshGlobal ("Atlantis_srb");

et les
void Atlantis::AddTankVisual (const VECTOR3 &ofs)
void Atlantis::AddSRBVisual (const VECTOR3 &ofs)


puis

void Atlantis::SeparateBoosters (double met)
void Atlantis::SeparateTank (void)

Ou si tu veut je te file le code du Sankukai pour que tu puisse voir comment j'ai fait pour lui attacher les 2 chasseurs
qui sont des attachements (identiques à ceux de multistage)et comment j'ai fait pour detecter leur détachement
 (A part que j'ai abandonné la gestion des masses si j'avais fait ça le Sankukai aurais basculé "cul par dessus téte"
lors du détachement des chasseurs)
c'est une solution un peu plus simple que celle de l'atlantis  et plus adéquate pour des chasseurs embarqués,
car ils existent en tant que vessel dés le debut de la simulation
l'avantage est que méme attachés a Sankukai tu peut aller d'un vaisseau à l'autre
Dans ton cas ce serais trés intéressant car tu pourrais aller dans le cockpit de ton module de service, ou de ton lander
méme en cours du lancement d'Ariane par multistage.

Dans tout les cas faire un DLL est la solution car tu peut mettre le hover ou tu veut , et méme changer sa position et
son vecteur quand tu veut




Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
Reply #10 - 04 March 2007, 23:41:52
En effet, très interrassant tout çà!
J'avais bien regardé le code d'Atlantis, sans tout saisir par contre, mais mis en avant ainsi çà vas mieux ;)

je pense que je vais faire un dll soit pour l'étage complet TLI, car Ariane est déjà en orbite lorsqu'il entre en jeu et
donc je peux le mettre en charge utile. Soit pour un berceau.
Il faut que je regarde le fil des "pruneaux" de plus prêt!

Sinon, je ne suis pas contre regarder le code du san Ku Kai, j'ai d'ailleurs déjà les attachments positionnées sur
l'étage TLI et le lander, il ne me manque plus qu'à le transcrire en dll pour palier au fait qu'Ariane ne gère pas cet
attachement.
Quoiqu'il en soit, j'apprends un max de ta part, merci Korben ;)
je te passe mon adresse mail en MP


------------

no matter.

Offline Apofis

  • Sr. Member
  • ****
  • Posts: 349
  • Karma: 0
Reply #11 - 05 March 2007, 03:32:33
autrement une idée qui me viens en lisant ses lignes... si tu modifie le repère 3d de ton lander avant de l'exporter en mesh???

je décline tout responsabilité :lol:


"Oups c quoi se bruit" Fred Haise, apollo 13 :P

Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #12 - 05 March 2007, 12:53:20
En fait plus j'y pense plus la solution Sankukai+chasseurs me semble la meilleure dans ton cas
Imagine au debut de la simulation l'utilisateur est dans le cockpit virtuel du module de service
et en appuyant sur un bouton commande l'allumage des Moteurs d' Ariane qui continue toute seule
a l'aide du multistage.
Ce serais top, tu pourrais méme te payer le luxe d'effectuer des corrections de trajectoire tout en restant
dans le cocpit virtuel du SM, CA se serais du réalisme !!!!!
Je ne sais plus si Naasp ou AMSO le font

Dans l'exemple SAnkukai je lance les moteurs des 2 chasseurs lorsque les ailes sont completement deployées
et pour cela je n'utilise que v->sethrustergrouplevel sur les MAIN-thruster mais tu peut tout utiliser, méme les RCS
par exemple en detournant les commande des thruster et RCS du SM vers celles capturées d'Ariane
Tu pourrais méme utiliser Redshift.
quand Redshift balance un allumage de RCS ou de thruster tu l'intercepte par ex a l' aide d'un getthrusterlevel
ou getthrustergrouplevel pour le rebalancer aussi sec vers Ariane par un V->sethrustergrouplevel (th-groupMain etc ...
Le top!!!


« Last Edit: 05 March 2007, 12:53:21 by korben62 »