Request Tianwen Mars Mission

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,636
Reaction score
2,613
Points
203
Location
Dallas, TX
I adjust the height and now we get this.
DrBrJL4.jpg

I still get a locked screen sometimes. It locks in debug too. So not sure what is going on with that?
 

N_Molson

Addon Developer
Addon Developer
Donator
Joined
Mar 5, 2010
Messages
9,271
Reaction score
3,244
Points
203
Location
Toulouse
Also, could someone make a quick scenario for a plausible reentry and landing test (taking into account Tianwen's current orbit, and the landing zone) ? I probably can do it but it would save some much needed coding/meshing time ! Just use a DG as a placeholder.

From NASA / NSSDCA :

The orbiter will use high-resolution cameras to search for the nominal landing site for the lander and rover. They will separate from the orbiter and make a landing somewhere in the Utopia Planitia region, currently scheduled for May 2021. The orbiter will then go into a 265 x 12,000 km altitude polar orbit, from which it will make scientific measurements and act as a relay for the rover communications with Earth.
 

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
I don't have an exact source for this, but I saw two landing location mentioned. Base definitions for both:

Code:
BASE-V2.0
Name = Tianwen-1_a
Location =  100 25.5
Size = 1000
ObjectSize = 100
MAPOBJECTSTOSPHERE = TRUE


BEGIN_OBJECTLIST
LPAD1
    POS 0 0 0
    SCALE 0
    ROT 0.000
    TEX Lpad01
END
END_OBJECTLIST

Code:
BASE-V2.0
Name = Tianwen-1_b
Location = 131 27
Size = 1000
ObjectSize = 100
MAPOBJECTSTOSPHERE = TRUE


BEGIN_OBJECTLIST
LPAD1
    POS 0 0 0
    SCALE 0
    ROT 0.000
    TEX Lpad01
END
END_OBJECTLIST
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,636
Reaction score
2,613
Points
203
Location
Dallas, TX
No sure what is going on with the rover. Here is a zip of the sdk and dll. You so can drive it. But something is wrong with the animation on the left turn.
 

Attachments

  • trover1.zip
    908.4 KB · Views: 7

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
507
Points
113
Where did they get that exact date (17. May) from? I can only find official statements saying "Mid May" so far.

...but my chinese-translation-foo might not be the strongest recently ;)
 

N_Molson

Addon Developer
Addon Developer
Donator
Joined
Mar 5, 2010
Messages
9,271
Reaction score
3,244
Points
203
Location
Toulouse
I don't think there is an official statement yet. I think they'll land the rover first, then if successful make a statement. What they said is that the landing window would be "between mid-May and mid-June".
 

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
More info about reentry and landing: https://twitter.com/MarsZhurong

E1Py60QXoAQ_T01

E1Py60NXsAA1Q68



Landing site is listed as 24.748N 110.318E.

Here's a map view of the area:

And a basic base definition:
Code:
BASE-V2.0
Name = Zhurong
Location = 110.318 24.748
Size = 1000
ObjectSize = 100
MAPOBJECTSTOSPHERE = TRUE




BEGIN_OBJECTLIST
LPAD1
    POS 0 0 0
    SCALE 0
    ROT 0.000
    TEX Lpad01
END
END_OBJECTLIST
 
Last edited:

N_Molson

Addon Developer
Addon Developer
Donator
Joined
Mar 5, 2010
Messages
9,271
Reaction score
3,244
Points
203
Location
Toulouse
Very useful info, thanks ! So it fires the descent engine below 1500 meters and hovers 100 meters above the surface, lower than I thought ! But thats logical the atmosphere is so thin you have to keep the parachute until the very last moment.

And the orbiter drops it on a reentry trajectory then fires again to get back in a high orbit where it can act as a relay, makes sense.

So I'll use those values as "targets" for the descent program, we'll see what comes out of it. The difficult thing will be to determine the initial polar orbit position in time, Ap/Pe/Inc are not a problem, but it has to match exactly the rotation of the planet to aim the landing site precisely.
 
Last edited:

Jeremyxxx

Active member
Joined
Jan 25, 2013
Messages
296
Reaction score
88
Points
43
Location
Dawson Springs
The Tianwen-1 lander will be remembered as the first Chinese Mars lander to touchdown on the surface seemingly without incident.
 

Sbb1413

Well-known member
Joined
Aug 14, 2018
Messages
948
Reaction score
373
Points
78
Location
India
Preferred Pronouns
he/his/him
The Tianwen-1 lander will be remembered as the first Chinese Mars lander to touchdown on the surface seemingly without incident.
It will also be remenbered as the first Asian vehicle to land on Mars.
 

Gargantua2024

The Desktop Orbinaut
Joined
Oct 14, 2016
Messages
1,050
Reaction score
1,257
Points
128
Location
San Jose Del Monte, Bulacan
Found some GIF images detailing how Zhurong deploys its camera mast, antenna, and solar panels from this editorial written in Mandarin, in addition to how it moves on the surface:
https://www.cnbeta.com/articles/science/1128229.htm

Full deployment...
86cac7e211ae1e5.gif

Camera mast/antenna only....
89049727296cc60.gif

Wheel movements...
f95e7f829781878.gif

0565ba2b6e3f877.gif
 
Last edited:

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
It seems like the orbiter must settle into a proper orbit before they can transmit images.
Makes sense, since it deorbited itself to deliver the lander. Also, I've only seen mention of a reception station outside China (on South America).
So in short they are waiting for favorable ground passes and earth reception opportunities. Perhaps a few more days.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,636
Reaction score
2,613
Points
203
Location
Dallas, TX
Thanks to Kuddel I got a better/stable rover. I still have a rover animation issue.
{ if (TURN_proc > 1) TURN_proc = (TURN_proc - 1); else if (TURN_proc < 0) TURN_proc = (TURN_proc + 1); if (TURN_check == TURN_DOWN)TURN_proc = (TURN_proc + db); else if (TURN_check == TURN_UP)TURN_proc = (TURN_proc - db); else if (TURN_check == TURN_STOP)TURN_proc = TURN_proc; double ax14 = TURN_proc - rot; if (ax14 > 1) ax14 -= 1; else if (ax14 < 0) ax14 += 1; double ax36 = TURN_proc + rot; if (ax36 > 1) ax36 -= 1; else if (ax36 < 0) ax36 += 1; SetAnimation(anim_FRONTWHEELFRAMERIGHT, ax14); //SetAnimation(anim_axle2, TURN_proc); //SetAnimation(anim_REARWHEELFRAMERIGHT, ax36); SetAnimation(anim_FRONTLEFTWHEELFRAME, ax14); //SetAnimation(anim_axle5, TURN_proc); //SetAnimation(anim_REARWHEELFRAME, ax36); //sprintf(oapiDebugString(), "ax14:%04d TURN:%04d ROT:%04d", ax14, TURN_proc, rot); }
left whhel frame
static UINT FRONTWHEELFRAMEGrp1[1] = { GRP_FRONTLEFTAXLE };//LEFTFRONTWHEELFRAME rms2_anim[4] = new MGROUP_ROTATE(0, FRONTWHEELFRAMEGrp1, 1, _V(-.461, -.224, .62), _V(0, 1, 0), (float)(90 * RAD)); // -2 .. +145 anim_FRONTLEFTWHEELFRAME = CreateAnimation(0.0); parentFRTFRAME = AddAnimationComponent(anim_FRONTLEFTWHEELFRAME, 0, 1, rms2_anim[4]);
rightwheelframe
static UINT FRONTWHEELFRAMEGrp3A[1] = { GRP_FRONTRIGHTAXLE };// rms3_anim[4] = new MGROUP_ROTATE(0, FRONTWHEELFRAMEGrp3A, 1, _V(.461, -.224, .62), _V(0, 1, 0), (float)(90 * RAD)); // -2 .. +145 anim_FRONTWHEELFRAMERIGHT = CreateAnimation(0.0); parentFRTFRAME = AddAnimationComponent(anim_FRONTWHEELFRAMERIGHT, 0, 1, rms3_anim[4]);

as you can see the animation is basically the same
if (TURNDir ==LEFT) {//LEFT TURN d_hdg = d_hdg + .0000001;//rate of steering change of heading vs2.surf_hdg -= d_hdg; if (vs2.surf_hdg < 0) { vs2.surf_hdg += 2 * PI; } rot += 0.0005;//animation axle wheel turn rate if (rot > .125) rot = .125; } if (TURNDir == RIGHT) {//RIGHT TURN rot -= 0.0005;//animation axle wheel turn rate if (rot < -.125) rot = -.125; d_hdg = d_hdg + .0000001;//rate of steering change of heading vs2.surf_hdg += d_hdg; //sprintf(oapiDebugString(), "turn %d SURFHDG %2.2f", i3, vs2.surf_hdg); if (vs2.surf_hdg > 2 * PI) { vs2.surf_hdg -= 2 * PI; } } if (TURNDir == NEUTRAL) {// straight so straighten wheels //sprintf(oapiDebugString(), "turn %2.2f cos %2.2f sin %2.2f,rot %2.2f", TURN_proc, cosTurn, sinTurn, rot); if (abs(rot) <= 0.005) rot = 0; else if (rot < 0) rot += 0.0005; else if (rot > 0) rot -= 0.0005; d_hdg = 0; }

so on left turn the front wheels amost turn 90 degrees plus the turn. they return to 90 degrees right turn fine

Also I wonder if there a fix for the rover being below the surface. I can adjust the td point so at the start it is good but then as you drive it looks like it is sinking. Using the hi res terrain?

TOUCHDOWNVTX td[4]; double x_target = -0.5; double stiffness = (-1) * (MASS * 9.80655) / (3 * x_target); double damping = 0.9 * (2 * sqrt(MASS * stiffness)); for (int i = 0; i < 4; i++) { td[i].damping = damping; td[i].mu = 3; td[i].mu_lng = 3; td[i].stiffness = stiffness; } td[0].pos.x = cos(30 * RAD) * ro; td[0].pos.y = -Height_From_Ground; td[0].pos.z = -sin(30 * RAD) * ro; td[1].pos.x = 0; td[1].pos.y = -Height_From_Ground; td[1].pos.z = 1 * ro; td[2].pos.x = -cos(30 * RAD) * ro; td[2].pos.y = -Height_From_Ground; td[2].pos.z = -sin(30 * RAD) * ro; td[3].pos.x = 0; td[3].pos.y = 15 * ro; td[3].pos.z = 0; SetTouchdownPoints(td, 4);
 

Attachments

  • ROVERLEFTTURN1.jpg
    ROVERLEFTTURN1.jpg
    165.7 KB · Views: 2
  • ROVERLEFTTURN2.jpg
    ROVERLEFTTURN2.jpg
    139.4 KB · Views: 2
Top