21-22/10/06
pyl oct/nov 06

Rendez Vous in Space hp50g

linked with www.lmm.jussieu.fr/~lagree/SIEF/GRAVITATION/RDV/rdv.html; the french version.

We aim to do a "Rendez Vous" between two satellites. One is Soyuz and the other is Apollo. The plot is in the frame of the target Soyuz. It is fixed, you drive the Apollo with small impulses.

The difficulty of the maneuver comes from the fact that we are in a rotating frame (non-Galilean). So we experiment Coriolis force and centrifugeal force plus the usual gravitational force (Newton force).
The joint effect of centrifugeal and the gravitational force is a kind of tidal force which makes the trajectory very unstable. The effect of the Coriolis force is the deflection to the right when there is a relative velocity.

Driving a space vessel is an unusual experiment which is counter intuitive. For instance, suppose that you want to go ahead, you press the forward arrow. First, you go ahead, but gradually you turn to the right due to Coriolis, and finally you go backwards!

Goal of the game

Go close to the Soyuz ("phasing"), closer ("homing") and dock to it. You must be in the same axe and with a small velocity. Rocket fuel is limited.
Use arrows to produce a small impulsion in this direction. Dock to Soyuz. "Docking is completed" when Apollo Soyuz distance is less than 1 (noted D<1) and when velocity is less than 2 (written U<2 on the screen).

Caution, you have only 100 units of propellant. (written prop=100).
At each level, "w" the angular velocity increases. At first, there is no rotation! So it is easy: you can go straight ahead!

ALPHA allows to do the same level again (no lives lost).

ON to quit.

You have 3 lives, at each success full docking you gain one more. A life is lost at each collision (not in the axis and/or to large velocity). The score is computed with the number of propellant units left times the number of the level.


Scores: PYL 860; Tanguy 762; PYL 320; Mathurin 212



What does the program?

It reads the touched arrow and this gives the impulsion px or py which is -1, 0 or 1
so the force is:
fx=3*omega*omega*(x-x0)+2*(omega)*v+px;
fy=                    -2*(omega)*u+py;

The velocity is then recomputed using a simple Euler explicit scheme u=u+dt*fx;
v=v+dt*fy;
The position is then updated:
x=x+dt*u;
y=y+dt*v;
t=t+dt;


The program has been compiled in "C" thanks to hpgcc.

You have to install "SETUP.BIN" which is in "ARMToolbox" (source) tu run the program wich uses "PrRUN"