[OPEN-SOURCE] Machinery Modelling Toolkit

Update

Removed some old classes that weren’t used and moved some of the structs into the same header where they are used.
Added two new examples, one is using PID controller to keep two wheeled vehicle vertically in balance - can find it in Simple Examples level.
Second is a variation of Modular Drive Train example that uses rigid body wheels, rotation of rigid bodies is done using new component WheelAxleModularForRB (compatible with Modular Drive Train). It doesn’t work perfectly - in current configuration RPMs slowly go down and steering clutches can’t lock completely, not sure where problem is. Most likely something to do with angular velocity not being synchronized between drive-train and rigidbody wheels.

1500 kg vehicle on two raytraces, standing balanced by using PID controller:
7b1e1ea07361be503b753dc76b26e5a6af06e925.jpeg

HOTFIX

  • removed test pawn with MMTTrack which leads to physics crash at some point (because of on screen debugging)

  • fixed issue where WheelAxleModularForRB didn’t calculate angular velocity properly, now drive train with rigid body works “almost” as expected

  • ninja upgrade to 4.13.2

  • updated executable demo to the latest version

i just wanted to say big thank you for this valuable informations, really appreciate <3

i will come back for feedbacks and eventually more questions :stuck_out_tongue: when i have chance to test everything, for the moment i am a little busy with some real life stuff .

ah one thing before i go home :
do u have any idea on flight dynamic model libraries like **jsbsim **and how it could be integrated or work somehow with your library ?

sorry for the delay
see u .

It should be possible to integrate it directly with UE4. The one tricky part would be to handle collisions. Units conversion would be necessary too, but shouldn’t be too complicated.

Something is going on with Fokker airplane - it doesn’t steer as it was steering before, potentially BPs got corrupted. Last time it behaved like this after Nativization. Hopefully moving airfoil to c++ can prevent such issues in feature.

that’s what I wanted to hear, thanks :slight_smile:

At what version of the UE4 engine is the MMToolkit at the moment?

I know I have to get my model finished first… but I might try to update to the newest engine soon. Since it’s been too long I actually looked at it.

It’s at 4.15.3 - haven’t migrated to 4.16 yet.

Love the new sprocket and 2 piece track. Cannot wait to try it… I don’t even have a version 4.15 installed… I was still stuck at 4.11 or something… that’s how long I have not been into UE4.

Update

Airplanes update:

  • added ability to subdivide wing surfaces, which cuts wing elements into approximately equal pieces (potentially) improving accuracy
  • added modified setup of Flying Aerosled
  • new airplane uses PID controllers for steering and for setting a leveled flight (after not receiving user input for 3 seconds)
  • new airplane has a simple first person camera (press C to switch) controlled by mouse and animated steering wheel (very old school)
  • some other things I don’t re-call right now :expressionless:

Next update should be porting everything to 4.16 - hopefully won’t take much time.

nice!

As soon as you port everything to 4.16 I will see if I can update the tiger with your new sprocket system.

Is it an idea when the Tiger is updated to include it in your build… so I don’t have to keep converting the base tiger anymore?
This way people can also use the example if they want.

Transition is not too smooth so far, bunch of new warnings and can’t package it - some issue with how MMT plugin is loaded.

If 3d model can be legally shared then yes. Which can be done if you made it yourself.

I always make everything myself.
Just the current low res version, like your own examples.

Hi there,
I’m trying to move my tank-sim project from Unity to Unreal, and I’m using ModularDriveTrainV2 as a base. Track behaviour and physics looks great, but I would like to use my own input and engine model. So as an output I have engine torque and clutch and brake value for both tracks, and now I’m having hard time looking where to input them into your blueprints. I’m pretty new to Unreal and blueprint scripting so I could use a hint!
Thanks in advance :D.

TrackTransmissionModuleR/L are the components that you need to provide input to. They have their own brakes and they integrate angular velocity of the sprocket. Their base class is TrackTransmissionProcessorModular and it implements interface that allows it to receive Torque/MomentOfInertia/AngularVelocity from other parts of drive train and send the same data back when requested.
There was a bit of discussion about this starting from previous page of this thread.

In this case I don’t see any issues with adding Tiger into MMT - I hope it will be easier to keep it up-to-date this way.

4.16 transition is not going smooth - can’t open any other map besides MainMenu or LandVehicles in packaged project.


[2017.06.10-16.59.50:094][306]LogPackageName: SearchForPackageOnDisk took   0.028s, but failed to resolve Airplanes.umap.
[2017.06.10-16.59.50:094][306]LogGameMode:Display: Match State Changed from InProgress to LeavingMap
[2017.06.10-16.59.50:094][306]LogGameState: Match State Changed from InProgress to LeavingMap
[2017.06.10-16.59.50:123][306]LogPackageName: SearchForPackageOnDisk took   0.028s, but failed to resolve Airplanes.umap.
[2017.06.10-16.59.50:123][306]LogNet: Browse: /Game/Maps/MainMenu
[2017.06.10-16.59.50:123][306]LogNet:Warning: Travel Failure: [InvalidURL]: Invalid URL: /Game/Maps/MainMenu
[2017.06.10-16.59.50:123][306]LogNet: TravelFailure: InvalidURL, Reason for Failure: 'Invalid URL: /Game/Maps/MainMenu'
[2017.06.10-16.59.50:123][306]LogGameMode:Display: Match State Changed from LeavingMap to Aborted
[2017.06.10-16.59.50:123][306]LogGameState: Match State Changed from LeavingMap to Aborted

Found what the issue was - there is new tab in Project Settings - Asset Manager. After adding maps, that should be packaged, manually in Asset Manager, they where finally cooked and now everything works.
There are still warnings about some missing variables, divisions by zero and constraint components - I’ll fix them later but right now uploading 4.16 version to github.

Fixed Fokker D1 - apparently pitching moment calculation and application was all wrong, fixed it and re-balanced wings a bit. Now it flies much better.