# OHMGeneralVehicle

#### martins

##### Orbiter Founder
Orbiter Founder
On a general note regarding the choice of shutdown options:

• "deallocate memory" is the cleanest option, because it tries to clean up allocated memory and reset its state in an orderly fashion
• the "terminate process" options are hacks to work around modules not cleanly shutting down
For users, I would recommend the "deallocate memory" option unless you encounter problems, e.g. crashes on shutdown when using specific addon modules.

If you run into problems with "deallocate memory" not related to an addon, (i.e. occurring without loading any modules not part of the Orbiter core), then let me know about it.

For developers, I would very strongly recommend the "deallocate memory" option during writing and testing your addon modules, to spot problems early.

Some other things developers are strongly encouraged to test:

• make sure multiple instances of your module (if applicable) work ok, e.g. multiple simultaneous instances of a vessel class or MFD mode)
• for vessel addons: make sure that deleting a vessel instance works (you can delete vessels in the scenario editor)
• for MFD addons: if your MFD can reference an object (e.g. target a vessel), make sure that deleting that vessel while targeted by the MFD is handled gracefully
• for all addon types: make sure that jumps in simulation time forward and backward are handled ok (simulation time can be set in scenario editor)

Any other suggestions for useful generic tests for addon developers?

#### emin2004

##### Member
Code:
Mesh not found: .\Meshes\gale\marsrocks.msh
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
000000.000: Module MSL_ROVER.dll ......... [Build 150529, API 100830]
000000.000: ---------------------------------------------------------------
000000.000: >>> WARNING: Obsolete API function used: VESSEL::SetBankMomentScale
000000.000: At least one active module is accessing an obsolete interface function.
000000.000: Addons which rely on obsolete functions may not be compatible with
000000.000: future versions of Orbiter.
000000.000: ---------------------------------------------------------------
000000.000: Finished initialising status
000000.000: Finished initialising camera
000000.000: Finished setting up render state
000000.000: Finished initialising panels
000000.000: ---------------------------------------------------------------
000000.000: >>> WARNING: Obsolete API function used: VESSEL::GetHorizonAirspeedVector
000000.000: At least one active module is accessing an obsolete interface function.
000000.000: Addons which rely on obsolete functions may not be compatible with
000000.000: future versions of Orbiter.
000000.000: ---------------------------------------------------------------
000000.000: ---------------------------------------------------------------
000000.000: >>> WARNING: Obsolete API function used: oapiGetFocusShipAirspeedVector
000000.000: At least one active module is accessing an obsolete interface function.
000000.000: Addons which rely on obsolete functions may not be compatible with
000000.000: future versions of Orbiter.
000000.000: ---------------------------------------------------------------
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
===============================================================
============================ ERROR: ===========================
Could not load vessel module: MSL
[Vessel::LoadModule | .\Vessel.cpp | 5747]

Last edited by a moderator:

Donator
???

#### gattispilot

This is from someone trying to get my MSl to work.

#### Urwumpe

##### Not funny anymore
Donator
Could not load vessel module: MSL

That went clearly into the wrong thread. Can some moderator fix this and maybe explain in kind calm words, that this forum is populated with humans, not robots. Some words of prose describing the problem is required, just a log is bad communication and will not help solving the problems.

#### emin2004

##### Member
That went clearly into the wrong thread. Can some moderator fix this and maybe explain in kind calm words, that this forum is populated with humans, not robots. Some words of prose describing the problem is required, just a log is bad communication and will not help solving the problems.

i know i got it from the log

#### gattispilot

I know. They posted in the wrong area. They are trying to get my MSl to work. I did try to make a General vehicle MSL. MAybe that is why they posted here.

#### Urwumpe

##### Not funny anymore
Donator
i know i got it from the log

Yes, but to explain this a bit better:

For most people here in the forum, your log will appear at first glance like trying to "read the matrix". Its just technical gibberish and it takes a lot of time and focus to scan for the errors. Only very few people here can look at a log file without feeling stupid and far less can find the single line that went wrong among 2000 lines of log (Or worse: My record was finding this line in 20 million lines of log)

Also, your log does not tell the whole truth: It does not tell us much about the scenario you started, your Orbiter configuration, what happened in Orbiter, any Windows error pop-ups or some strange freak accidents like your coffee spilling into your PC.

So please, take the time and describe your problem considering that: What did you try to do, what happened, how did it happen, which circumstances are important about the error (Moon phase might not contribute, but a hot GPU can)

The more information you can give the better. Just 20% of the information about your problem will arrive at the other people in the forum in the best case anyway, but if you try less hard to communicate it well, it will approach zero.

And next, find the proper thread for your question. If you would be somebody else, would you expect to find questions about a MSL add-on in a generalvehicle thread? Sure not. Better find something more fitting or make a new thread the next time. This makes it more likely the person will find your question that can really answer it.

#### jacquesmomo

Bonjour Fred

I just want to report to you an anomaly (but not serious) with General_vehicle.

Explanation :

I have made (still for Kourou) a rocket + mobile platform + truck

With :
- the rocket (ariane 5) is a multistage2015 vessel attached on a "ghost" support
- the "ghost" support is attached to the mobile platform
- the mobile platform is a spacecraft vessel
- the truck is a "general_vehicle" vessel and tows the mobile platform + rocket.

Everything works well, everything is functional... BUT... :facepalm:

If we move with all the objects and if we stop (anywhere) and after we save the situation,
when we restart the "current state" situation, the mobile platform + rocket is still in its original location...
To avoid this, it is necessary - before leaving orbiter - to release (detach) the trailer and there it works ...

I tested this with spacecraft 3 and 4 (for the platform) and the result is same.

Explanation with images :

Of course this is not very important, but I wanted to notify this to you.
And always and again a big thank you for your modules: without them, I could not do anything !!! :tiphat:

Last edited:

#### fred18

Donator
Bonjour Fred

I just want to report to you an anomaly (but not serious) with General_vehicle.

Hi jacques,
thanks for the report. I think I know very well why in general this is happening, even though I don't see why it happens in your specific case.

This is clearly happening because attached vessels as child do not have their status updated by orbiter core, they just stay where the parent is and that's it. When the parents detaches the child then the child's status gets updated.

So what's happening here is that the status of the platform never gets updated while is towed away and when you save the scenario the status that gets saved is the original one.
If you detached manually then the orbiter core automatically update the status of the child and then when you saved it is saved correctly.
Now, usually the attachment status gets saved in the scn, so when you reload it you find your vessel attached to its parent, whatever the status of the child is.
In this case looks like the attachment status is not saved to the scn, and that's the issue. I quite do not see why, I don't remember if there is anything in the code about it but I'll check. Could you please post the .scn when you save it without detaching before saving?

Thanks
Fred

---------- Post added at 17:58 ---------- Previous post was at 17:50 ----------

I think I found a possible explanation in the meantime:
When the sim is reloaded with a towed attached vessels, GV detaches it and then reattaches it again. If I remember correctly this is done for resetting some of the parameters of the towing code.

Now when I tested it there was no issue because it was a simple towing of another vessel, while in your case there is a chain of vessels attached and that messes up the small logic of the procedure.

This still leave me puzzled though... :hmm:

so if you can post two scenarios:

1) attach the truck to the platform, tow it around, do NOT detach it, close the scn and post it here
2) reopen the scn, don't do anything and post it again here.

Let me know!
Fred

#### jacquesmomo

Hi jacques,
So what's happening here is that the status of the platform never gets updated while is towed away and when you save the scenario the status that gets saved is the original one.

I also think like you, it's certainly the reason

Could you please post the .scn when you save it without detaching before saving?
(...)
so if you can post two scenarios:
1) attach the truck to the platform, tow it around, do NOT detach it, close the scn and post it here
2) reopen the scn, don't do anything and post it again here.
Let me know!

Ok, I'm trying to post this to you in the coming days
If you want the files (msh, cfg, ini files etc) I will can send all to you...
In the meantime, I'm going to post here my scn files as soon as I can
Thank you again for your availability :tiphat:

Jacques

---------- Post added 13-10-18 at 09:41 ---------- Previous post was 12-10-18 at 19:12 ----------

Bonjour Fred

So, here are my scenarios.

1) The initial scn :
Code:
BEGIN_DESC
Orbiter saved state at T = 7087
END_DESC

BEGIN_ENVIRONMENT
System Sol
Date MJD 56778.6849751222
Help CurrentState_img
END_ENVIRONMENT

BEGIN_FOCUS
Ship ELA3-Camion
END_FOCUS

BEGIN_CAMERA
TARGET ELA3-Camion
MODE Extern
POS 20.018076 -42.274500 -27.361270
TRACKMODE TargetRelative
FOV 49.53
END_CAMERA

BEGIN_SHIPS
Ariane5:Kourou_Rockets\Ariane5\Ariane5
STATUS Landed Earth
POS -52.5596280 5.0600480
ALT -0.084
AROT 173.637 -37.270 -126.137
AFCMODE 7
FUEL 1
NAVFREQ 0 0 0 0
XPDR 0
CONFIG_FILE Config\Kourou_Rockets\Ariane5\Ariane5.ini
GUIDANCE_FILE Config\Kourou_Rockets\Ariane5\Ariane5_guidance_test.txt
CONFIGURATION 0
CURRENT_BOOSTER 1
CURRENT_STAGE 1
CURRENT_INTERSTAGE 1
FAIRING 1
MET -15.000
STAGE_IGNITION_TIME 0.000000
STAGE_STATE 1
ALT_STEPS 100.0,350.0,1400.0,35000.0
PEG_PITCH_LIMIT 35.000
PEG_MC_INTERVAL 0.100
RAMP
END
STATUS Landed Earth
POS -52.7473238 5.2317856
ALT -0.021
AROT 173.438 -37.071 153.467
ATTACHED 0:0,ELA3_Crawler
AFCMODE 7
END
GV_ELA3-Camion:Kourou\GV_ELA3-Camion
STATUS Landed Earth
POS -52.7390867 5.2429795
ALT 0.001
AROT 89.202 7.589 37.462
AFCMODE 7
END
ELA3-Camion:Kourou\ELA3-Camion
STATUS Landed Earth
POS -52.7447993 5.2292036
ALT -1.000
AROT 85.834 3.163 37.140
ATTACHED 0:1,GV_ELA3-Camion
AFCMODE 7
PRPLEVEL 0:1.000000
NAVFREQ 0 0
CONFIGURATION 1
SEQ 0 -2 0.000000
SEQ 1 2 1.000000
SEQ 3 -2 0.000000
SEQ 4 -2 0.000000
SEQ 5 -2 0.000000
SEQ 6 -2 0.000000
SEQ 7 -2 0.000000
SEQ 8 -2 0.000000
END
ELA3_Crawler:Kourou\ELA3_Crawler
STATUS Landed Earth
POS -52.7390509 5.2428103
ALT -0.179
AROT 90.408 9.015 37.638
ATTACHED 0:0,GV_ELA3-Camion
AFCMODE 7
PRPLEVEL 0:1.000000
NAVFREQ 0 0
CONFIGURATION 1
END
ELA3_arms:Kourou\ELA3_arms
STATUS Landed Earth
POS -52.5595750 5.0600030
ALT 38.795
AROT -120.225 28.009 136.700
ATTACHED 0:1,ELA3_Crawler
AFCMODE 7
PRPLEVEL 0:0.987000
THLEVEL 0:1.000000
NAVFREQ 0 0
UMB 0 0.0000
END
END_SHIPS

Some explanations :
Ariane5..........................................The rocket
MS_LaunchPad_Ariane5................... The "ghost" support (attached on the "crawler")
GV_ELA3-Camion........................... The truck (only the wheels) general_vehicle
ELA3-Camion................................ The truck (cabin etc) spacecraft3 attached on the "general_vehicle wheels"
ELA3_Crawler................................ The crawler (spacecraft3)
ELA3_arms................................... Arms and ombilic (with dll, made by BrianJ) attached on the "crawler"

2a) attach the truck to the platform, tow it around, do NOT detach it, close the scn and post it here

Code:
BEGIN_DESC
Current scenario state
Contains the latest simulation state.
END_DESC

BEGIN_ENVIRONMENT
System Sol
Date MJD 56778.6854453223
Help CurrentState_img
END_ENVIRONMENT

BEGIN_FOCUS
Ship ELA3-Camion
END_FOCUS

BEGIN_CAMERA
TARGET ELA3-Camion
MODE Extern
POS 20.018076 -135.093663 -22.634368
TRACKMODE TargetRelative
FOV 49.53
END_CAMERA

BEGIN_SHIPS
Ariane5:Kourou_Rockets\Ariane5\Ariane5
STATUS Landed Earth
POS -52.7390867 5.2428054
ALT 22.021
AROT 173.637 -37.270 -126.137
AFCMODE 7
PRPLEVEL 0:1.000000 1:1.000000 2:1.000000 3:1.000000 4:1.000000
NAVFREQ 0 0 0 0
XPDR 0
CONFIG_FILE Config\Kourou_Rockets\Ariane5\Ariane5.ini
GUIDANCE_FILE Config\Kourou_Rockets\Ariane5\Ariane5_guidance_test.txt
CONFIGURATION 0
CURRENT_BOOSTER 1
CURRENT_STAGE 1
CURRENT_INTERSTAGE 1
FAIRING 1
MET -15.000
STAGE_IGNITION_TIME 0.000000
STAGE_STATE 1
ALT_STEPS 100.0,350.0,1400.0,35000.0
PEG_PITCH_LIMIT 35.000
PEG_MC_INTERVAL 0.100
RAMP
END
STATUS Landed Earth
POS -52.7390867 5.2428057
ALT -0.329
AROT 173.438 -37.071 153.467
ATTACHED 0:0,ELA3_Crawler
AFCMODE 7
END
GV_ELA3-Camion:Kourou\GV_ELA3-Camion
STATUS Landed Earth
POS -52.7389734 5.2442846
ALT 0.001
AROT 77.029 -8.381 37.548
AFCMODE 7
END
ELA3-Camion:Kourou\ELA3-Camion
STATUS Landed Earth
POS -52.7447993 5.2292036
ALT -1.000
AROT 85.834 3.163 37.140
ATTACHED 0:1,GV_ELA3-Camion
AFCMODE 7
PRPLEVEL 0:1.000000
NAVFREQ 0 0
CONFIGURATION 1
SEQ 0 -2 0.000000
SEQ 1 2 1.000000
SEQ 2 -2 0.000000
SEQ 4 -2 0.000000
SEQ 5 -2 0.000000
SEQ 6 -2 0.000000
END
ELA3_Crawler:Kourou\ELA3_Crawler
STATUS Landed Earth
POS -52.7390509 5.2428103
ALT -0.179
AROT 90.408 9.015 37.638
ATTACHED 0:0,GV_ELA3-Camion
AFCMODE 7
PRPLEVEL 0:1.000000
NAVFREQ 0 0
CONFIGURATION 1
SEQ 0 -2 0.000000
SEQ 1 -2 0.000000
END
ELA3_arms:Kourou\ELA3_arms
STATUS Landed Earth
POS -52.7390167 5.2428138
ALT 38.321
AROT -120.225 28.009 136.700
ATTACHED 0:1,ELA3_Crawler
AFCMODE 7
PRPLEVEL 0:0.987000
THLEVEL 0:1.000000
NAVFREQ 0 0
UMB 0 0.0000
END
END_SHIPS

2b) reopen the scn, don't do anything and post it again here.
Code:
BEGIN_DESC
Current scenario state
Contains the latest simulation state.
END_DESC

BEGIN_ENVIRONMENT
System Sol
Date MJD 56778.6855303433
Help CurrentState_img
END_ENVIRONMENT

BEGIN_FOCUS
Ship ELA3-Camion
END_FOCUS

BEGIN_CAMERA
TARGET ELA3-Camion
MODE Extern
POS 20.018076 -135.093663 -22.634368
TRACKMODE TargetRelative
FOV 49.53
END_CAMERA

BEGIN_SHIPS
Ariane5:Kourou_Rockets\Ariane5\Ariane5
STATUS Landed Earth
POS -52.7390870 5.2428053
ALT 22.221
AROT 173.637 -37.270 -126.137
AFCMODE 7
PRPLEVEL 0:1.000000 1:1.000000 2:1.000000 3:1.000000 4:1.000000
NAVFREQ 0 0 0 0
XPDR 0
CONFIG_FILE Config\Kourou_Rockets\Ariane5\Ariane5.ini
GUIDANCE_FILE Config\Kourou_Rockets\Ariane5\Ariane5_guidance_test.txt
CONFIGURATION 0
CURRENT_BOOSTER 1
CURRENT_STAGE 1
CURRENT_INTERSTAGE 1
FAIRING 1
MET -15.000
STAGE_IGNITION_TIME 0.000000
STAGE_STATE 1
ALT_STEPS 100.0,350.0,1400.0,35000.0
PEG_PITCH_LIMIT 35.000
PEG_MC_INTERVAL 0.100
RAMP
END
STATUS Landed Earth
POS -52.7390870 5.2428055
ALT -0.129
AROT 173.438 -37.071 153.467
ATTACHED 0:0,ELA3_Crawler
AFCMODE 7
END
GV_ELA3-Camion:Kourou\GV_ELA3-Camion
STATUS Landed Earth
POS -52.7389734 5.2442846
ALT 0.001
AROT 77.029 -8.381 37.548
AFCMODE 7
END
ELA3-Camion:Kourou\ELA3-Camion
STATUS Landed Earth
POS -52.7447993 5.2292036
ALT -1.000
AROT 85.834 3.163 37.140
ATTACHED 0:1,GV_ELA3-Camion
AFCMODE 7
PRPLEVEL 0:1.000000
NAVFREQ 0 0
CONFIGURATION 1
SEQ 0 -2 0.000000
SEQ 1 2 1.000000
SEQ 2 -2 0.000000
SEQ 4 -2 0.000000
SEQ 5 -2 0.000000
SEQ 6 -2 0.000000
END
ELA3_Crawler:Kourou\ELA3_Crawler
STATUS Landed Earth
POS -52.7390512 5.2428102
ALT -0.079
AROT 90.407 9.014 37.637
AFCMODE 7
PRPLEVEL 0:1.000000
NAVFREQ 0 0
CONFIGURATION 1
SEQ 0 -2 0.000000
SEQ 1 -2 0.000000
END
ELA3_arms:Kourou\ELA3_arms
STATUS Landed Earth
POS -52.7390171 5.2428137
ALT 38.421
AROT -120.225 28.009 136.700
ATTACHED 0:1,ELA3_Crawler
AFCMODE 7
PRPLEVEL 0:0.987000
THLEVEL 0:1.000000
NAVFREQ 0 0
UMB 0 0.0000
END
END_SHIPS

:hello::tiphat: Jacques

#### gattispilot

I guess we could use this for a replacement UMMU? Just use a mesh. And move around? Creating them in a vessel might be tricky.

I still haven't figured how your x touchdown adjustment works for other vehicles

#### turtle91

##### Active member

Here we modified the GV-code, to be able to use RCS when not "landed".
(simple logic: if not landed...ignore GV's keyboard input...use generic orbiter key-input)

The problem her was LUA itself:
-creating a vessel (GV-UMMU) on ground works fine
-creating the same vessel in space (i.e. 5 meters in front of the docking-port) causes issues, when used state-vectors.
I guess, while LUA is interpreting its code, time is still running, and the new created vessel (the UMMU) will be created...but too late...so the "docking-port vessel" has already left the state-vector-position.
At the end, the UMMu will be created about 100 meters from your vessel with a relative DV of 25 m/s....

Maybe creating the UMMU docked or attached to the vessel might be a workaround....

#### fred18

Donator
I guess, while LUA is interpreting its code, time is still running, and the new created vessel (the UMMU) will be created...but too late...so the "docking-port vessel" has already left the state-vector-position.
At the end, the UMMu will be created about 100 meters from your vessel with a relative DV of 25 m/s....

Maybe creating the UMMU docked or attached to the vessel might be a workaround....

Have you tried to create the vessel anywhere in the universe and place it at the right place after creation?

#### turtle91

##### Active member
>Have you tried to create the vessel anywhere in the universe and place it at the right place after creation?

This might be an option. So we (LUA) can take the time to create the vessel, and THEN setting the "state-vector"...

#### fred18

Donator
This might be an option. So we (LUA) can take the time to create the vessel, and THEN setting the "state-vector"...

That is precisely what I was suggesting

#### gattispilot

I suggested this for use with the Interstellar Add-on. Use Gv with our Ummu meshes. Then code create a GV vessel and place on ground where they would be dropped off at. In space not sure if this would work.

Any ideas on the X touchdown help?

#### gattispilot

So I made a cfg for a Ummu and moon buggy

looks good on the pad but there are some ares where you sink in. In real life it would be like soft soil

On the buggy it is just a mesh. Not sure if I can steer with no mesh groups defined as this wheel for a turn one side would go forward and the other reverse.

But because it is a vehicle to turning while not moving.

And no way to get into the vehicle.

I think if you are going for looks maybe raise the mesh up

#### Donamy

Donator
Beta Tester
Do you remember this one ?

#### Attachments

• rover2.jpg
76.1 KB · Views: 34

#### Interceptor

##### Well-known member
I do,I still use it to this day.:thumbup: