Project NASA Viking

At least for the aerodynamics, I broke my brainbutt trying to get something useable, VB doesn't have an input for drag coefficients (need to be able to define drag for a specific AOA) and tweaking the lift coef. etc. hasn't brought great results. VB works ok with Deltaglider and such but there are no working examples for a capsule, and maybe I'm still missing something.
But there are also other compromises that could be avoided if coded, the good news is that VB is great as a test bed for many features, all the required data for animations, stats etc. "just" needs to be transferred to new code, and fortuneately there are also several excellent capsule code examples available.
Now that one can do a lot of coding without compiling (LUA) maybe in the distant future I can get something up and running, but I can be far more productive doing what I'm better at, also there is still a lot to do, I was planning to do .scn files up to the end of service of the orbiter, and then for Viking2 as well (and to think back then when I started this project (a few years ago) my ambition was to update all the historic flights)!

Yeah, thats understandable. Lua can do aerodynamics pretty good now, but finding the right mathematical model (NASA helps there) is challenging - and of course, implementing it right.

With team work I think this project will see the light of day sooner.;)

Maybe, but still, if this is going to be your project, maybe you should specify some constraints. I found some PDFs about the lander with all technical and navigation data, but I doubt that you would want to see all of that implemented (Like the experiments performed during reentry), so a Lua solution might be better and easier to be maintained by you than C++. On the other hand, C++ aerodynamics should have some performance and accuracy advantage, even if Orbiter gets a JIT compiler. The landing guidance and profile is of course pretty useful there anyway. So, you might want to specify what is going to be in the add-on and what not. And maybe already some principles how it should be played.

Not covered yet by my (quick & lazy) research is the orbiter, but its a major part of the flight as well.
 
Yeah, thats understandable. Lua can do aerodynamics pretty good now, but finding the right mathematical model (NASA helps there) is challenging - and of course, implementing it right.
One can do just about the same Orbiter aerodynamics modeling in Lua as with the C++ API. The Lua Script is really just talking to Orbiter through an interpreter. But there are some fundamental issues with the drag models in Orbiter, independent of how they are coded. There were some parts of the legacy drag model like SetCW that really shouldn't ever have been made obsolete because it makes proper drag modeling on most aircraft very non-intuitive and pretty much impossible to do completely correctly unless you make your own drag functions and use add_force (as I have).

If your vessel has no airfoil definitions, you can use SetCW to set constant vessel drag coefficients. There are no Mach compressibility helpers for drag for that, but you can get something to fly like a cannon ball with no lift.

However, if you have a capsule that does have lift, and you define an airfoil to model that lift, SetCW is ignored. All of the vessel drag forces, on the fuselage, nacelles, etc...must somehow be baked into the cd coefficient of the airfoil, and you have little hope of getting the vessel moments right. The developer would need to determine ALL the drag forces on the airfoils, fuselage, nacelles, etc. of the entire vessel, get the moments of the lift and drag forces on the entire vessel, then non-dimensionalize them by the plan area of the airfoil, and then put the data into the airfoil function. It's a fine model if you are flying nothing but flying wings and lifting bodies like the DG, but it is miserable to work with if you are trying to do anything else like lifting capsules or conventional aircraft.

It would be best if we could use the airfoil definitions to just define the airfoils in Orbiter, and then add drag on fixed fuselages, nacelles, etc.. with something like SetCW, perhaps modified for compressibility effects. Adding the drag forces on all the parts of the vessel isn't quite perfect, but this was good enough to design aircraft back in the day before computers, and plenty good enough to model flight performance in Orbiter.

I've used variable drag elements to be able to fill in for SetCW, but that made my code strange to read as I was using variable drag elements for static structures. I finally quit and just made my own incompressible drag function for anything that wasn't an airfoil. I had to do this anyway for my boats as I had to be able to calculate the submerged hull drag in the water and the freeboard hull drag in air, noting the air and water generally have different relative velocity vectors and had to be calculated independently.
 
if this is going to be your project,
I would rather consider this A project that I am currently working on alone.
maybe you should specify some constraints
My original intention was to update, make combatible, and improve on the old historical space program addons, otherwise no constraints.
I found some PDFs about the lander with all technical and navigation data, but I doubt that you would want to see all of that implemented (Like the experiments performed during reentry)
Already have a fat folder full of NASA papers, but that probably doesn't cover everything, good to know you have another source. :)
Actually I'd love to see as much detail as possible, but first I'd like to get the aero working.;)
C++ aerodynamics should have some performance and accuracy advantage
Good to know.
One can do just about the same Orbiter aerodynamics modeling in Lua as with the C++ API. The Lua Script is really just talking to Orbiter through an interpreter. But there are some fundamental issues with the drag models in Orbiter, independent of how they are coded. There were some parts of the legacy drag model like SetCW that really shouldn't ever have been made obsolete because it makes proper drag modeling on most aircraft very non-intuitive and pretty much impossible to do completely correctly unless you make your own drag functions and use add_force (as I have).
Thanks for the background info.
Reminds me I wanted to try adding induced drag to the whole object and up the lift values...

I'm trying to port it to Orb2024, Multistage is currently a problem, when I have something together I'll upload for assessment.
 
Presumed dead, but not forgotten. Working on the N1 reminded me a lot on this project.
I decided to make new stages for the Titan, more accurate boosters and livery, and also reducing the dependencies.
0698.jpg
0699.jpg
Still to do:
Finish descent autopilot, any help very much appreciated:)
Extended orbiter mission
Viking2 mission


NASA Viking 0.5
Add-On for Orbiter 2016

Credits:
BrianJ-SLC41 (thanks again!:))
Buck Rogers
Martin Schweiger & Orbiter Forum members

REQUIREMENTS

Vesselbuilder (.dll included)
http://www.intech-srl.eu/fred/VesselBuilder1_PreRelease.zip

Only for launch .scn:
Multistage(.dll included)
"Multistage2015 for Orbiter2016"
Multistage titans
https://www.orbiter-forum.com/resources/multistage-titans.919/


earth mars hires
https://www.orbiter-forum.com/resources/high-resolution-planetery-textures-for-orbiter2016.5569/

D3d9 Client(tested with R4.4-r1306)
https://www.orbiter-forum.com/resources/d3d9-for-orbiter-2016.5493/
Activate "Enable absolute animation handling" in the Video/Advanced tab.

Reccomended:
IMFD

INSTALLATION
Extract all files in the orbiter2016 folder to the root of your Orbiter program directory, preserving the directory structure. This should NOT overwrite anything in the standard Orbiter package.

SPACECRAFT SPECS and CONTROLS

Viking

Launch:
Launch Viking 1 at 21:22 UTC on August 20,1975 (Arrival June 19,1976 MJD 42948)
Automatic launch T-22min

Multistage:
Disengage Autopilot "P"
Complex Flight on
Failure prob. 1%


Orbiter:
Ctrl+Shft+K = Deploy Solar Panels
Shft+K = Stow Solar Panels
G = Jettison Bio cover
J = Unlatch aeroshell and lander, select aero main to seperate

Lander
Descent and landing autopilot (WIP)
Ctrl+Shft+G = Manual gear deploy, Shft+G = retract

C = Camera, cam positions simulate original first photos
Shft+K = Met Instrument
Shft+J = Antenna
Shft+U = Sample Boom


IMFD tips:
IMFD only updates in cockpit MFD mode,i.e. Engine start/cutoff etc. will not be executed in external camera mode.
Autoburn attitude control starts at -180s.

EDIT:
Added reentry test .scn (use RCS to hold att., landing only works at 0 alt.
Fixed booster position.
 

Attachments

Last edited:
Hi,
thanks very much for this, looks great (y) Viking is one of my favourite missions.
I tried the launch scenario (using Orbiter2016), I like the trees, Titan looks awesome.
Autopilot launch works fine (maybe a bit steep in the gravity turn?) ...except the second stage fails to ignite.
You can restart manually or, as I did, add a line to the Titan guidance:
272 = engine(100,100,10)
Autopilot carries on fine once engine relit.

Also tried the aero test scenario. Aeroshell is very unstable and doesn't want to stay in a "reasonable" entry attitude.
Parachute deploy also unstable. I never really got to test the Lander autopilot as release always happened (if at all) too late.
I guess Vesselbuilder uses planet mean radius, not surface elevation level, as 0 alt. for its event trigger.
Could the chute deploy, heatshield jettison and lander release be controlled manually?
The aerodynamics could use some attention though (just my opinion).

Cheers,
BrianJ
 
Thanks a lot for the feedback:)
the second stage fails to ignite.
This is strange, it's just a simple stage sep. (booster sep. and stage 1 ign. works?), haven't had issues with that before, are you using the .dll provided?
Vesselbuilder uses planet mean radius, not surface elevation level, as 0 alt. for its event trigger.
This is the biggest problem:(
Could the chute deploy, heatshield jettison and lander release be controlled manually?
It would have to happen very quickly with vessel focus change. I also painstakingly mapped the thrusters for the aero and lander, nice for realism, but harder to fly. It really needs an autopilot that recognises radar alt.
The aerodynamics could use some attention though (just my opinion).
(not just yours;)) It drove me nearly mad trying to get something to work. I couldn't add individual drag elements to the lift profile in VB and so I was trying to find a middle spot where it flies ok, but it was always too much drag or too little. It's unfortuneately far from satisfactory and put off further progress.

Any help would be very welcome.:)
 
This is strange, it's just a simple stage sep. (booster sep. and stage 1 ign. works?), haven't had issues with that before, are you using the .dll provided?
Yes, your MS2015 .dll etc.
For some reason I had a hunch it might be something to do with IGNITE_DELAY parameter.
I changed the Titan .ini 2nd stage IGNITE_DELAY to 3.00 and now it all works fine (with your original guidance file).
Go figure. Its probably just me.

This is the biggest problem:(
Its a drawback if you're trying to make landing autopilots. Yup.

It would have to happen very quickly with vessel focus change.
Ah. I haven't paid attention to that sequence. I'll have another look.

I also painstakingly mapped the thrusters for the aero and lander, nice for realism, but harder to fly. It really needs an autopilot that recognises radar alt.
Aeroshell manouevers on RCS very nicely - I didn't get to try the lander yet. Is the lander some kind of "3-way" engine set up?

(not just yours;)) It drove me nearly mad trying to get something to work. I couldn't add individual drag elements to the lift profile in VB and so I was trying to find a middle spot where it flies ok, but it was always too much drag or too little. It's unfortuneately far from satisfactory and put off further progress.

Any help would be very welcome.:)
I'll have a mess around and see if I can come up with anything more stable.
I'm not that familiar with Vesselbuilder though.

Cheers,
BrianJ
 
Yes, your MS2015 .dll etc.
For some reason I had a hunch it might be something to do with IGNITE_DELAY parameter.
I changed the Titan .ini 2nd stage IGNITE_DELAY to 3.00 and now it all works fine (with your original guidance file).
Go figure. Its probably just me.
There is an interstage (1-2) with a 3s delay, does that still work? The original stage delay was default (0s), maybe a short delay, 0.5s or so helps. Multistage can be very sensetive sometimes (fps etc...).
Ah. I haven't paid attention to that sequence. I'll have another look.
After parachute deploy and heatshield jettison, the lander legs deploy before detachment from the aeroshell. All this works except for the altitude problem and the very bad aerodynamics. On at least one test flight (from 100's!) it worked almost perfectly, the lander has no guidance except engine ignition, it needs to drop straight down for it to work, very hard to repeat though (and I've changed the aero many times inbetween).
Aeroshell manouevers on RCS very nicely - I didn't get to try the lander yet. Is the lander some kind of "3-way" engine set up?
Yes, it's kinda fun to fly, burntime is very short though. Jettison early or use the landed .scn with a full tank for a test flight.
I'll have a mess around and see if I can come up with anything more stable.
I'm not that familiar with Vesselbuilder though.
Wow, that's great!:)I think where I went wrong was not adding induced drag and then using the coefs. only for lift. If you can get it to fly even just a little better that would be literally a mission saver!
 
Hi,
There is an interstage (1-2) with a 3s delay, does that still work? The original stage delay was default (0s), maybe a short delay, 0.5s or so helps. Multistage can be very sensetive sometimes (fps etc...).
Interstage sep works fine. Stage 2 ignition fails every time for me unless IGNITE_DELAY > 0 (or engine command in the guidance file).
After parachute deploy and heatshield jettison, the lander legs deploy before detachment from the aeroshell. All this works except for the altitude problem and the very bad aerodynamics. On at least one test flight (from 100's!) it worked almost perfectly, the lander has no guidance except engine ignition, it needs to drop straight down for it to work, very hard to repeat though (and I've changed the aero many times inbetween).
OK, I'm getting the hang of how it all works, I think.
I've just been concentrating on the Aeroshell aerodynamics for now.
This AIAA paper has some useful info about Viking entry, descent and landing.

I set up the Aeroshell in the release orbit (PeA 1500km, Ecc. 0.76, ApA 35000ish) and targeted the Viking1_landing_site base with IMFDBaseApproach. I needed a minimum of 170m/s dV to target the base, even tweaking the release orbit by hand. The Aeroshell only has about 130m/s dV. The AIAA paper talks about 156m/s dV deorbit burn. Maybe increase the ISP (or fuel mass etc.)? Need some margin for manouevers also.

From the paper, I got entry interface alt. 243km, reentry angle 15deg, so my IMFDBaseApproach parameters are:
Alt 243km
ReA 15deg
Ant 23.5deg (by experiment)
That gives you a PeA of about -27km.

Aeroshell AoA -11.1deg, low ~0.2 L/D coeff.
Yes, it's kinda fun to fly, burntime is very short though. Jettison early or use the landed .scn with a full tank for a test flight.

Wow, that's great!:)I think where I went wrong was not adding induced drag and then using the coefs. only for lift. If you can get it to fly even just a little better that would be literally a mission saver!
I'm going to have a think about the Lander descent burn later. Does VesselBuilder do InducedDrag coeffs?
Anyway, I got an Aeroshell aerodynamic solution that kind of works, just enough lift to keep it from hitting the ground (it does need to fly heads-up!) and commensurate drag. It does use a VariableDrag element for stability. Not sure if its realistic enough for you. Here we go, modifications to Aeroshell .cfg follow...
Main airfoils

Code:
AIRFOIL_0_ID = 0
AIRFOIL_0_NAME = V_Airfoil_0
AIRFOIL_0_ORIENTATION = 0
AIRFOIL_0_REF = 0 0 0
AIRFOIL_0_C = 3.7
AIRFOIL_0_S = 14.85
AIRFOIL_0_A = 0.1
AIRFOIL_0_POINT_0_AOA = -180
AIRFOIL_0_POINT_0_CL = 0
AIRFOIL_0_POINT_0_CM = 0
AIRFOIL_0_POINT_1_AOA = -135
AIRFOIL_0_POINT_1_CL = -0.12
AIRFOIL_0_POINT_1_CM = 0
AIRFOIL_0_POINT_2_AOA = -90
AIRFOIL_0_POINT_2_CL = 0
AIRFOIL_0_POINT_2_CM = 0
AIRFOIL_0_POINT_3_AOA = -45
AIRFOIL_0_POINT_3_CL = -0.12
AIRFOIL_0_POINT_3_CM = 0
AIRFOIL_0_POINT_4_AOA = 0
AIRFOIL_0_POINT_4_CL = 0
AIRFOIL_0_POINT_4_CM = 0
AIRFOIL_0_POINT_5_AOA = 45
AIRFOIL_0_POINT_5_CL = 0.12
AIRFOIL_0_POINT_5_CM = 0
AIRFOIL_0_POINT_6_AOA = 90
AIRFOIL_0_POINT_6_CL = 0
AIRFOIL_0_POINT_6_CM = 0
AIRFOIL_0_POINT_7_AOA = 135
AIRFOIL_0_POINT_7_CL = 0.12
AIRFOIL_0_POINT_7_CM = 0
AIRFOIL_0_POINT_8_AOA = 180
AIRFOIL_0_POINT_8_CL = 0
AIRFOIL_0_POINT_8_CM = 0
 
AIRFOIL_1_ID = 1
AIRFOIL_1_NAME = H_Airfoil_1
AIRFOIL_1_ORIENTATION = 1
AIRFOIL_1_REF = 0 0 0
AIRFOIL_1_C = 3.7
AIRFOIL_1_S = 14.85
AIRFOIL_1_A = 0.1
AIRFOIL_1_POINT_0_AOA = -180
AIRFOIL_1_POINT_0_CL = 0
AIRFOIL_1_POINT_0_CM = 0
AIRFOIL_1_POINT_1_AOA = -135
AIRFOIL_1_POINT_1_CL = -0.12
AIRFOIL_1_POINT_1_CM = 0
AIRFOIL_1_POINT_2_AOA = -90
AIRFOIL_1_POINT_2_CL = 0
AIRFOIL_1_POINT_2_CM = 0
AIRFOIL_1_POINT_3_AOA = -45
AIRFOIL_1_POINT_3_CL = -0.12
AIRFOIL_1_POINT_3_CM = 0
AIRFOIL_1_POINT_4_AOA = 0
AIRFOIL_1_POINT_4_CL = 0
AIRFOIL_1_POINT_4_CM = 0
AIRFOIL_1_POINT_5_AOA = 45
AIRFOIL_1_POINT_5_CL = 0.12
AIRFOIL_1_POINT_5_CM = 0
AIRFOIL_1_POINT_6_AOA = 90
AIRFOIL_1_POINT_6_CL = 0
AIRFOIL_1_POINT_6_CM = 0
AIRFOIL_1_POINT_7_AOA = 135
AIRFOIL_1_POINT_7_CL = 0.12
AIRFOIL_1_POINT_7_CM = 0
AIRFOIL_1_POINT_8_AOA = 180
AIRFOIL_1_POINT_8_CL = 0
AIRFOIL_1_POINT_8_CM = 0

Variable drag element, keyed to animation that is fortunately initialized to state 1.000 :-)
Code:
;<-------------------------VARIABLE DRAG ITEMS DEFINITIONS------------------------->
 
VARIABLEDRAG_0_ID = 0
VARIABLEDRAG_0_NAME = Gear
VARIABLEDRAG_0_FACTOR = 2
VARIABLEDRAG_0_REF = 0 -0.1925 0.9813
VARIABLEDRAG_0_ANIM = 0

Chute airfoils
Code:
1_AIRFOIL_0_ID = 0
1_AIRFOIL_0_NAME = V_Airfoil_0
1_AIRFOIL_0_ORIENTATION = 0
1_AIRFOIL_0_REF = 0 0 39
1_AIRFOIL_0_C = 15
1_AIRFOIL_0_S = 300
1_AIRFOIL_0_A = 1
1_AIRFOIL_0_POINT_0_AOA = -180
1_AIRFOIL_0_POINT_0_CL = 0
1_AIRFOIL_0_POINT_0_CM = 0
1_AIRFOIL_0_POINT_1_AOA = 0
1_AIRFOIL_0_POINT_1_CL = 0
1_AIRFOIL_0_POINT_1_CM = 0
1_AIRFOIL_0_POINT_2_AOA = 180
1_AIRFOIL_0_POINT_2_CL = 0
1_AIRFOIL_0_POINT_2_CM = 0
 
1_AIRFOIL_1_ID = 1
1_AIRFOIL_1_NAME = H_Airfoil_1
1_AIRFOIL_1_ORIENTATION = 1
1_AIRFOIL_1_REF = 0 0 39
1_AIRFOIL_1_C = 15
1_AIRFOIL_1_S = 300
1_AIRFOIL_1_A = 1
1_AIRFOIL_1_POINT_0_AOA = -180
1_AIRFOIL_1_POINT_0_CL = 0
1_AIRFOIL_1_POINT_0_CM = 0
1_AIRFOIL_1_POINT_1_AOA = 0
1_AIRFOIL_1_POINT_1_CL = 0
1_AIRFOIL_1_POINT_1_CM = 0
1_AIRFOIL_1_POINT_2_AOA = 180
1_AIRFOIL_1_POINT_2_CL = 0
1_AIRFOIL_1_POINT_2_CM = 0

Chute Rot drag doubled
Code:
;<-------------------------GENERAL SETTINGS - Configuration: 1------------------------->
 
1_ROTDRAG = 2 2 2

Chute animation duration increased
Code:
;<-------------------------ANIMATIONS DEFINITIONS------------------------->
 
ANIM_0_ID = 0
ANIM_0_NAME = ParaRelease
ANIM_0_DEFSTATE = 0
ANIM_0_DURATION = 5
ANIM_0_KEY = 0
ANIM_0_CYCLE = 0

I've attached my complete Aeroshell.cfg and a Viking reentry test scenario below.
Cheers!
Brian
 

Attachments

Interstage sep works fine. Stage 2 ignition fails every time for me unless IGNITE_DELAY > 0 (or engine command in the guidance file).
Good to know, I'll add a delay, doesn't affect the flight path and if it helps cross-platform support.
This AIAA paper has some useful info about Viking entry, descent and landing.
Nice papar. This detailed Nasa paper was also very useful (attach.)
I needed a minimum of 170m/s dV to target the base, even tweaking the release orbit by hand. The Aeroshell only has about 130m/s dV. The AIAA paper talks about 156m/s dV deorbit burn. Maybe increase the ISP (or fuel mass etc.)? Need some margin for manouevers also.
I'll recheck the mass/thrust variables.
From the paper, I got entry interface alt. 243km, reentry angle 15deg, so my IMFDBaseApproach parameters are:
Alt 243km
ReA 15deg
Ant 23.5deg (by experiment)
That gives you a PeA of about -27km.

Aeroshell AoA -11.1deg, low ~0.2 L/D coeff.
Nice, I can set the deorbit burn to intercecpt.
Does VesselBuilder do InducedDrag coeffs?
I think Variabledrag is the only option?
Anyway, I got an Aeroshell aerodynamic solution that kind of works, just enough lift to keep it from hitting the ground (it does need to fly heads-up!) and commensurate drag. It does use a VariableDrag element for stability. Not sure if its realistic enough for you. Here we go, modifications to Aeroshell .cfg follow...
My approach would be to make it as realistic as possiple and then tweak so it works. If it flies that is more realistic than if it doesn't.
I'll check it out and get back ASAP:)
 

Attachments

Quick feedback: I'm very impressed, goes to show the difference when someone knows what they're doing;)
It's so nice to see it fly! Very smooth, actually landed on the first attempt, run out of fuel and hit hard (very forgiving TD points), was also -6km alt (release timing is a problem). It's a bit stubborn, could hardly make any course corrections. I'll try tweaking the COG/Airfoil Z ref. point to see if one can get some more control.
This is great, thanks so much!:)
 
Nice papar. This detailed Nasa paper was also very useful (attach.)
Thanks! I'll give it a read.

I'll recheck the mass/thrust variables.
The smallest deorbit dV I found was 148m/s - making the burn at the nominal point of True Anomaly 217deg, just getting the PeA down to -27km, not targeting anything in particular.

But maybe I'm wrong about the reentry parameters I got from the AAIA paper? In which case deorbit might take less dV.
I'll have to recheck and experiment.

Your mass/thrust figures look very reasonable to me, so it makes me wonder, but then the AAIA paper does talk about "156m/s deorbit burn lasting 22 minutes".
Go figure.

Anyway, am having much fun with this, thanks again.
Cheers,
Brian
 
goes to show the difference when someone knows what they're doing;)
Well, thanks! Nice to know I at least look like I know what I'm doing....;)

It's a bit stubborn, could hardly make any course corrections. I'll try tweaking the COG/Airfoil Z ref. point to see if one can get some more control.
Do you mean the Aeroshell during reentry? Steering will get difficult as dynamic pressure increases. Tweak away by all means but I think moving the airfoil ref point will destabilize things. Try decreasing the RotDrag? But then it might wobble. Have fun!
I don't think Viking had any reentry guidance beyond a pitch program that put it at AoA -20deg at 243km alt.?
But it did cross my mind that you could correct a little crossrange error on the way down.

Cheers,
Brian
 
Well, thanks! Nice to know I at least look like I know what I'm doing....;)


Do you mean the Aeroshell during reentry? Steering will get difficult as dynamic pressure increases. Tweak away by all means but I think moving the airfoil ref point will destabilize things. Try decreasing the RotDrag? But then it might wobble. Have fun!
I don't think Viking had any reentry guidance beyond a pitch program that put it at AoA -20deg at 243km alt.?
But it did cross my mind that you could correct a little crossrange error on the way down.

Cheers,
Brian
All Mars landers until MSL in 2012 relied on simple open-loop guidance. MSL was the first to use Terrain Relative Navigation (TRN, pronounced "terrain") that allowed it to target a precise landing spot. Until TRN was demonstrated, the actual landing site was unknown until one of the orbiters flew overhead post-landing and photographed it. The actual landing ellipses were usually around 200 kmx30 km, even shortly before entry with the most up-to-date tracking.

 
The smallest deorbit dV I found was 148m/s - making the burn at the nominal point of True Anomaly 217deg, just getting the PeA down to -27km, not targeting anything in particular.

But maybe I'm wrong about the reentry parameters I got from the AAIA paper? In which case deorbit might take less dV.
I'll have to recheck and experiment.

Your mass/thrust figures look very reasonable to me, so it makes me wonder, but then the AAIA paper does talk about "156m/s deorbit burn lasting 22 minutes".
Check out the doc page 71+, very detailed info on the flight path and guidance, confirms the 22 min 56m/s Dv burn and states the neccessary entry angle window etc...
 
Check out the doc page 71+, very detailed info on the flight path and guidance, confirms the 22 min 56m/s Dv burn and states the neccessary entry angle window etc...
Thanks. I need to re-read and understand the entry targeting parts.
Two things I got already:
1) Nominal entry angle is 16.8 (not 15, don't know where I got that, I blame poor eyesight and creeping senility ;) )
2) Aeroshell hits 13.6g (ouch) during entry.
So I'm guessing it goes deeper in the atmosphere and has a load more drag. The length of the entry will be shorter also.
And also, velocity should be down to Mach2 by 6km alt. for chute deploy
So, need to put a new entry test scenario together with entry angle 16.8 and see how she flies :)

I think you may need to increase the Aeroshell dV capability to at least 160m/s.
Increase ISP or fuel load?

With regard to the Lander, I did enjoy taking it for a few hops around the Martian surface!
I've tried LolaMFD and PursuitMFD to take care of the landing but neither work.
I can offer to either transfer your Vesselbuilder parameters into a .dll and add an autopilot, or make a dedicated MFD to handle the landing. Let me know if either option appeals.

This why I love doing these missions in Orbiter - I always learn something!
With this one, its "you can use entry angle to control entry range" - of course, obvious when you see it :)

Cheers,
Brian
 
Last edited:
Thanks. I need to re-read and understand the entry targeting parts.
Two things I got already:
1) Nominal entry angle is 16.8 (not 15, don't know where I got that, I blame poor eyesight and creeping senility ;) )
2) Aeroshell hits 13.6g (ouch) during entry.
So I'm guessing it goes deeper in the atmosphere and has a load more drag. The length of the entry will be shorter also.
And also, velocity should be down to Mach2 by 6km alt. for chute deploy
So, need to put a new entry test scenario together with entry angle 16.8 and see how she flies :)
Also the optimal AOA of 20° set by COG (fixed weight). What I didn't quite understand is the apparent two deorbit options, I think that comes from deviation with the 22min burn?
I think you may need to increase the Aeroshell dV capability to at least 160m/s.
Increase ISP or fuel load?
I'm hoping the mass data should be relatively accurate (it's been a while would like to re-check to be sure) so it's probably easier to play with the ISP. Please make any changes as you see fit.
With regard to the Lander, I did enjoy taking it for a few hops around the Martian surface!
I've tried LolaMFD and PursuitMFD to take care of the landing but neither work.
I tried both and others too, they really don't like the thruster setup! (btw the lander doesn't really have any aero. def. yet).
I'll make a texture update for the lander (I made it a long time ago) some grps only have a material (doesn't look good in O24!) and add ambient occlusion shadows.
I can offer to either transfer your Vesselbuilder parameters into a .dll and add an autopilot, or make a dedicated MFD to handle the landing. Let me know if either option appeals.
Both options are very appealing! I would leave that decision up to you, whatever you think fits (yourself) best.:)
This why I love doing these missions in Orbiter - I always learn something!
And the learning through experimentation, Orbiter has a depth I've not encountered elsewhere.

Thanks again for bringing this to life:)
 
Thanks again for bringing this to life:)
My pleasure and privilege, mate (y)

Also the optimal AOA of 20° set by COG (fixed weight).
My understanding from the AAIA paper is that AoA -20° is set 9mins before entry, then set to -11.1° at 243km alt.......
At 9 min prior to entry another attitude maneuver was performed to properly orient the vehicle body axes with respect to the relative velocity vector (angle of attack = - 20 deg) to acquire upper atmosphere science data. Also, a programmed pitch rate was initiated to follow the flight path angle change and maintain the desired angle of attack. At entry a step change was made in pitch to achieve the desired angle of attack of -11.1 deg.

What I didn't quite understand is the apparent two deorbit options, I think that comes from deviation with the 22min burn?
Yes, I had to read that section a few times!
I think you can vary the entry angle by changing the time and velocity vector of the burn. Maybe the nominal burn point of True Anomaly 217° is for the nominal entry angle of 16.8° ?
You can use the max. entry angle of 17.4° and end up landing 11.5° (Mars surface) short of the Viking Orbiter periapsis point (on Mars surface)....or use the min. entry angle of 16.2° and land 6.5° short.....so I'm guessing nominal entry angle will put the landing 9° short of VO periapsis point.
I wasn't too clear what Viking.pdf was saying about crossrange corrections. Need to re-read.

I'm hoping the mass data should be relatively accurate (it's been a while would like to re-check to be sure) so it's probably easier to play with the ISP. Please make any changes as you see fit.
Even having 160m/s dV will be a challenge for me, so I'd probably go with that and set ISP 2172.6 .

I tried both and others too, they really don't like the thruster setup! (btw the lander doesn't really have any aero. def. yet).
Yup. Same for the Aeroshell - it doesn't play well with IMFD Autoburn, need to control the burn manually.

Both options are very appealing! I would leave that decision up to you, whatever you think fits (yourself) best.
OK, I'll have a think - probably a vessel .dll would be neater from an end user pov.

And the learning through experimentation, Orbiter has a depth I've not encountered elsewhere.
Yes indeed.

OK, attached are my latest aeroshell.cfg and viking reentry test.scn
Scenario reentry angle is 16.8° at 243km alt.
(IMFD Base Approach parameters Alt 243, ReA 16.8, Ant 17.3)
Landing happens about 8° short of Viking Orbiter periapsis point (which is a little longer than my guess of 9°) but pretty good!
It pulls about 6.5g, so thats short of the 13.6g maximum (Viking.pdf) but maybe that is for the max. entry angle?
It seems pretty stable. The airfoil size parameters have increased a lot, but the performance is not bad, range is about right, chute deploy happens at Mach2. I'm fairly happy to go with this .cfg aerodynamics wise, but please do modify as required.

Cheers,
Brian
 

Attachments

Last edited:
My understanding from the AAIA paper is that AoA -20° is set 9mins before entry, then set to -11.1° at 243km alt.......
Yes, I missed that, at 243.8 km it goes to -11.1° trim angle of attack - so it's actively using RCS to hold attitude?
Yes, I had to read that section a few times!
I think you can vary the entry angle by changing the time and velocity vector of the burn. Maybe the nominal burn point of True Anomaly 217° is for the nominal entry angle of 16.8° ?
You can use the max. entry angle of 17.4° and end up landing 11.5° (Mars surface) short of the Viking Orbiter periapsis point (on Mars surface)....or use the min. entry angle of 16.2° and land 6.5° short.....so I'm guessing nominal entry angle will put the landing 9° short of VO periapsis point.
I wasn't too clear what Viking.pdf was saying about crossrange corrections. Need to re-read.
In the guidance section it refers to repeated checking of engine performance and constantly adjusting the burn time to compensate for degraded performance, I think this where the extended deorbit burn timing comes in?
Yup. Same for the Aeroshell - it doesn't play well with IMFD Autoburn, need to control the burn manually.
It doesn't like the RCS being linked to the Main thruster, IMFD autoburn still does the orientation, which is ok to set it up for LVLH , and use BurntimeMFD for a clean burn.
OK, I'll have a think - probably a vessel .dll would be neater from an end user pov.
Yes, I don't know if there's enough interaction for it to be worth making an MFD?
OK, attached are my latest aeroshell.cfg and viking reentry test.scn
Scenario reentry angle is 16.8° at 243km alt.
(IMFD Base Approach parameters Alt 243, ReA 16.8, Ant 17.3)
Landing happens about 8° short of Viking Orbiter periapsis point (which is a little longer than my guess of 9°) but pretty good!
(y)
It pulls about 6.5g, so thats short of the 13.6g maximum (Viking.pdf) but maybe that is for the max. entry angle?
13.6g is pretty high, I imagine that's a worse case scenerio?
It seems pretty stable. The airfoil size parameters have increased a lot, but the performance is not bad, range is about right, chute deploy happens at Mach2. I'm fairly happy to go with this .cfg aerodynamics wise
:)
 
Yes, I missed that, at 243.8 km it goes to -11.1° trim angle of attack - so it's actively using RCS to hold attitude?
What I got from the pdf's is the attitude is managed by RCS until 91km alt. when its just left to find its equilibrium attitude of AoA -11.1. Specificaly, it sets the AoA -20 at 9 mins before entry and keeps it there until entry alt. At that point I think it just nulls out any rotation - if you do that, you find it hits AoA -11.1 just as you get to 91km and the atmosphere kicks in to keep it stable.
Thats my interpretation 🤷‍♂️
In the guidance section it refers to repeated checking of engine performance and constantly adjusting the burn time to compensate for degraded performance, I think this where the extended deorbit burn timing comes in?
That could be it. There's a lot of stuff going on after Aeroshell separation. As much detail as you need in those .pdf's.

It doesn't like the RCS being linked to the Main thruster, IMFD autoburn still does the orientation, which is ok to set it up for LVLH , and use BurntimeMFD for a clean burn.
Yes, no problem with that, if you do any documentation might be worth making a note though.

Yes, I don't know if there's enough interaction for it to be worth making an MFD?
Yeah, I think a vessel .dll would be a "neater" solution.


13.6g is pretty high, I imagine that's a worse case scenerio?
I had a look around the interweb and a lot of Mars landers, e.g. Mars Rovers, hit 6-8g but one (I forget which) hit ~18g.
I had go at finding a trajectory that hit 13g but I couldn't make it work. Given that the add-on entry range and chute deploy velocity are pretty close to nominal, I'm prepared to leave the 13.6g as a ?

OK, cool, I'll start trying to read a bit about the lander descent - it had some kind of azimuth pointing requirement but I can't find what.

Cheers,
Brian
 
Back
Top