Project Vehicle Handling Simulation in Orbiter2016

Here's something you can test.
 

Attachments

Why exactly? As long as you don't have any actual traction physics going on, additional wheels are merely another rotating mesh group. You shouldn't have to code them explicitly, it's a basic loop operation.

The code is a loop, true, but remember that this is not a "fixed" module, but a general module, getting inputs from the config file. I'd like to keep it simple for users to be able to use it without having to plug in too many variables.

I can see if there is a straightforward way to sistematically plug in the relevant values without getting this too much of a mess. Let's see
 
All right,

attached here the updated module with some examples (F1, LER from Gattis and Truck fron Donamy), you can try all of them at once in the test scenario provided and you can check in the configs the updated options, which basically are:
- added the middle axel with relevant definitions (if you don't want it, just delete the line)
- added the four wheels steering option
- added the full pedal time option
- added just a bit of graphics in the HUD to see speed and pedal stats.

Still no towing, it will probably be the next thing in pipeline for development.
 

Attachments

Awesome !

Thanks for the steering wheels command : it's much better like this !.. :thumbup:

I noticed that there is no need for the FUEL or PRPLEVEL line in the scenario file.
So, the fuel capacity has no limitation ? :crystalball:
As there was no indication of speed or power, having a small display in the HUD to see speed and pedal stats is a great idea !!! :speakcool:

The management of the height of the vehicle with respect to the surface of the ground works very well on the Earth, maybe a little less well on the Moon (I do not know why) but nevertheless your module is what I expected since the Release of Orbiter 2016 :hotcool:

I continue my tests ... and to have fun thanks to you !
One more time a big thank you for this realization so expected ! :tiphat:
 
Very stable:)

I don't know if there is a fix to this:
AuidUAU.jpg
 
Hello Fred

I adapted my renault 4L with your GeneralVehicle module.
It works very well!

Just a small remark: I find that we can not zoom close enough to the vehicle...

If you want to check and test it, I give you the files. (this could be usefull for you for future tests)....
There is also the spacecraft version with animations, and sounds. :lol:

So, there is 2 scenarios :
- one with GV
- one with spacecraft.
Location of the car is Kourou (french Guiana)

note: in the scn I did not write "ALT" and "VROT" so you just have to move and the car is on the ground.

friendly
jacques
 

Attachments

Last edited:
Just a small remark: I find that we can not zoom close enough to the vehicle...

That would be the size parameter. It's settable in the config file.

but remember that this is not a "fixed" module, but a general module, getting inputs from the config file.

I'm developing an add-on that allows defining your own modules and building spaceships out of them... believe me, I know everything about that problem :lol:

When I have groups of parameters of which there can be an arbitrary number, I usually would go with something like this, in keeping with the general Orbiter cfg syntax:

Code:
BEGIN_WHEEL
    pos = x y z
    axis = x y z
    etc = something
END_WHEEL

Then the user can just put as many _WHEEL blocks into the config as he needs.

Or you could do it in one block, similar to Orbiter dockport definitions, which is more convienient for writing, but less so for reading:

Code:
BEGIN_WHEELS
; syntax: position<V3> axis<V3>
    x y z     x y z
    x y z     x y z
END_WHEELS

I know you'll need a bit more data for the wheels that actually steer, these are just bare bones examples of what I do in such cases.
 
I guess when the code is released then maybe one can adapt it to their vessels to work with animations, lights. Then I could maybe add 6 wheel steering for the LER, Rovers,....
 
I noticed that there is no need for the FUEL or PRPLEVEL line in the scenario file. So, the fuel capacity has no limitation ? :crystalball:

Correct, it's a continuos state update, no "real" engines or fuel. I know it's a trick, but IMHO it's the best way to approach landed vessels. Orbiter is made for flying, so to have a stable vehicle implementation I think this workaround makes the job good.

The management of the height of the vehicle with respect to the surface of the ground works very well on the Earth, maybe a little less well on the Moon (I do not know why)

this is the reason:
https://www.orbiter-forum.com/showthread.php?p=559185&postcount=17

nothing I can do about it, but it seems to me still ok.



Very stable:)

I don't know if there is a fix to this:
AuidUAU.jpg

that happened randomly to me, I still can't figure out why. It seems to me something related to animations defined in multiple instances of the same class, but I don't know. Usually it happens once, and then it doesn't happen for a while. The difficulty of solving it is exactly that it appears to happen randomly. I'll try to understand this anyway

Just a small remark: I find that we can not zoom close enough to the vehicle...
I'll set a default smaller size, but as jedidia said it's possible to modify it also using the regular size parameter of orbiter.

If you want to check and test it, I give you the files. (this could be usefull for you for future tests)....

Wow! thank you very much! the more material I have, the more tests I can make! :tiphat::tiphat:

I'm developing an add-on that allows defining your own modules and building spaceships out of them... believe me, I know everything about that problem :lol:

When I have groups of parameters of which there can be an arbitrary number, I usually would go with something like this, in keeping with the general Orbiter cfg syntax:

Code:
BEGIN_WHEEL
    pos = x y z
    axis = x y z
    etc = something
END_WHEEL

Then the user can just put as many _WHEEL blocks into the config as he needs.

Or you could do it in one block, similar to Orbiter dockport definitions, which is more convienient for writing, but less so for reading:

Code:
BEGIN_WHEELS
; syntax: position<V3> axis<V3>
    x y z     x y z
    x y z     x y z
END_WHEELS

I know you'll need a bit more data for the wheels that actually steer, these are just bare bones examples of what I do in such cases.

I was thinking about letting open just the middle axels, since the front and the rear could be stirred, while the middle axels usually not.
So something like
Code:
Middle_Axels_Number = 3
Middle_Axel_1_Groups = xxx ttt kkk
Middle_Axel_1_axis = xxx yyy zzz
Middle_Axel_2_Groups = xxx ttt kkk
Middle_Axel_2_axis = xxx yyy zzz
Middle_Axel_3_Groups = xxx ttt kkk
Middle_Axel_3_axis = xxx yyy zzz

I guess when the code is released then maybe one can adapt it to their vessels to work with animations, lights. Then I could maybe add 6 wheel steering for the LER, Rovers,....

yes, I'll add lights, but not other animations. If I may suggest I won't add the middle steering wheels, because it will be quite a mess ;)
 
Thanks. Will the code be released so that Others could add it to their own vessel so animations can work?

Donamy mentioned having a chassis that one could attach their vessel to for animations. I think that is possible but it would mean switching back and forth.

Not to be a nit picker but isn't axle the correct spelling?
 
Last edited:
I was thinking about letting open just the middle axels, since the front and the rear could be stirred, while the middle axels usually not.

Yeah, that sounds perfectly reasonable. The approach for the config-synthax works too, I've done similar things in the past. I just found it a lot more inconvenient to write parsers for than a block definition.
 
Wow! thank you very much! the more material I have, the more tests I can make! :tiphat::tiphat:
Your welcome :thumbup:

Mmmm sorry, my steering Wheel axis is wrong...

modify the value with this :

Steering_Wheel_Axis = 0 0.545 -0.8384

That would be the size parameter. It's settable in the config file.
I'll set a default smaller size, but as jedidia said it's possible to modify it also using the regular size parameter of orbiter.
You were right, I had not thought about it ...
I added the following line in the file cfg!

Size = 8

And it's perfect !!!
Thanks for the tip !
 
Last edited:
I know, I know, I should be working on the towing option, way more useful in orbiter... but a bit of fun shall be there too, right?

so, I couldn't resist, and here it is...

 
Do I see an Orbiter version of GTA coming along? :lol:

Now that we have a stable surface vessel control interface, would anybody be interested in designing a drivable Mars rover (maybe Matt Damon's drive from the Martian)? Would be a cool way to explore the upcoming highres Mars textures.
 
Great. So how is this calculated:
Code:
Height_From_Ground = 0.001	; [m] height of the center of gravity from the ground

Is it adjusted how it looks on level ground? Like on a pad?
 
Do I see an Orbiter version of GTA coming along? :lol:

Now that we have a stable surface vessel control interface, would anybody be interested in designing a drivable Mars rover (maybe Matt Damon's drive from the Martian)? Would be a cool way to explore the upcoming highres Mars textures.
First I'd like to the see the towway leading to/from the SLF made smooth. Currently, to say it's uneven would be the understatement of the year.
 
Great. So how is this calculated:
Code:
Height_From_Ground = 0.001	; [m] height of the center of gravity from the ground

Is it adjusted how it looks on level ground? Like on a pad?

it's what it says: height of the center of gravity of the vessel from ground level.

Fastwest way to have it is to pick the lowest y coordinate of your wheels,

---------- Post added at 02:04 ---------- Previous post was at 01:59 ----------

would anybody be interested in designing a drivable Mars rover (maybe Matt Damon's drive from the Martian)? Would be a cool way to explore the upcoming highres Mars textures.

That was one of the main targets of this project: create addons that can explore the new 3d terrain and textures. I think that this module will allow to do the mars rover quite easily, it's just a matter of mesh design.
 
Oh. Here is my MMSEV rover using the GM
https://drive.google.com/open?id=0B0JgX41wexYRY0duUE43UVEwMjA

I think the theory of this vessel is the carriage could drive but the upper part one could live in. So with this new module. That would be possible. Where the upper part was a separate vessel. Then you could have all sorts of animations. But to drive on the surface you would need to switch to this ground vessel
 
Back
Top