Jump to content

[1.8.x] KSPWheel - Physics Based Alternate Wheel Collider [API Only]


Shadowmage

Recommended Posts

5 hours ago, ZodiusInfuser said:

turn off the KSPWheel scaling options (as there's already TweakScale configs)

I think the KSPWheel scaling is important to the operation of the wheel. You'd have to get Tweakscale to cooperate with KSPWheel. There's a reason Shadowmage wrote his own scale function instead.

Link to comment
Share on other sites

5 hours ago, ZodiusInfuser said:

and how to turn off the KSPWheel scaling options (as there's already TweakScale configs),

KSPWheel is not tweakscale compatible.  There is a reason for the built-in scaling functions.

4 hours ago, ZodiusInfuser said:

Oh, another question. I don't suppose KSPWheel (or some other mod for that matter) has a constraint module that will set the position of a game object to be at the mid-point of two other game objects (or at least the height)?

Not currently.  If you use multiple wheel colliders, you can use the average of their compression to drive a suspension transform though.  There should be some examples of this in the KF-Skid part.

 

Link to comment
Share on other sites

18 minutes ago, Shadowmage said:

KSPWheel is not tweakscale compatible.  There is a reason for the built-in scaling functions.

Thanks for the explanation. In that case can I either change the allowed scale values or disable it and have no scaling? The IR Rework parts follow a Cube Root scaling (don't ask) rather than the usual x1.25 etc

21 minutes ago, Shadowmage said:

Not currently.  If you use multiple wheel colliders, you can use the average of their compression to drive a suspension transform though.  There should be some examples of this in the KF-Skid part.

Okay, thanks. Is there a way to get the angle between the two wheel collider suspensions too? The wheel I have modelled is like this, so has a central piece that has the suspension (hence wanting the average height), but then the two wheels can pivot. Would the Bogey module give me this info?

etf_mining_truck_7452.jpg

(see https://www.trucksplanet.com/catalog/model.php?id=562)

Link to comment
Share on other sites

23 hours ago, ZodiusInfuser said:

In that case can I either change the allowed scale values or disable it and have no scaling?

You can disable scaling in the KSPWheelBase module.  I'd have to look at the source to find the exact field name, but it is there (along with both min and max scale I believe).

 

23 hours ago, ZodiusInfuser said:

Okay, thanks. Is there a way to get the angle between the two wheel collider suspensions too?

Not currently.  Seems like it would be a fairly simple thing to code, but I've had no need for it so far.  I would be willing to merge a PR if one was posted, but I likely won't have time to get to it myself for at least a few months.

 

Link to comment
Share on other sites

18 hours ago, Shadowmage said:

You can disable scaling in the KSPWheelBase module.  I'd have to look at the source to find the exact field name, but it is there (along with both min and max scale I believe).

Not currently.  Seems like it would be a fairly simple thing to code, but I've had no need for it so far.  I would be willing to merge a PR if one was posted, but I likely won't have time to get to it myself for at least a few months.

Okay, thank you. I'll have a play around and see if I can get something working without a code change first.

--------------------------------------------------

I realise this it a bit of an odd use-case, but would anyone be able to give me advise on how I may be able to get my Mecanum wheels working again?

KYiWhCz.png

As you can see from the disco shot (even more so when they're rotating :P), there are two parts (a left and right version) consisting of 8 free-spinning rollers placed at 45 degrees from the main Infernal Robotics rotation axis. When driven by IR in the correct direction, this lets a craft move forward/back, strafe left/right, or turn on the spot. This is something I had working back in the days of KerbalFoundries but doesn't seem to want to play ball with KSPWheel. The suspension compresses and I see the rollers rotate, but it seems like they are fighting each other too much to let the strafing work as intended, not to mention that at high IR rotation speeds they seem to loose traction with the ground completely. I suspect it is settings thing, but as KF and KSPWheel are different mods, I am not sure what I should be looking to tweak to get the physics behaving how I want. Note, the green lines in that image are actually going up from each roller (through the center) despite what it looks like.

For reference, here are two videos of how they used to work:

And here's a good video showing mecanum wheels IRL if you're interested: https://www.youtube.com/watch?v=_tmiu1wpp_E

 

Edit: Here's the part config as it currently stands:

PART
{
// --- General Parameters ---
name = IR_LargeMecanum_Right
module = Part
author = Zodius (model)

// --- Asset Parameters ---
//mesh = model.mu
MODEL
{
    model =
MagicSmokeIndustries/Parts/Rework_Utility/Probe/Mecanums/IR_LargeMecanum_KSPW/model_right
    texture = IR_Robotic,
MagicSmokeIndustries/Parts/Rework_Utility/Probe/Mecanums/IR_Robotic
    texture = IR_Robotic_e,
MagicSmokeIndustries/Parts/Rework_Utility/Probe/Mecanums/IR_Robotic_e
}

scale = 1
rescaleFactor = 1

// --- Node Definitions ---
node_stack = 0.0, 0.0, 0.52, 0.0, 0.0, 1.0, 1
node_attach = 0.0, 0.0, 0.52, 0.0, 0.0, -1.0

// --- Editor Parameters ---
TechRequired = experimentalMotors
entryCost = 6000

cost = 580
category = none
subcategory = 0
title = Mecatron - Kuka (Right)
manufacturer = Magic Smoke Industries & SM Solutions
description = This special wheel allows for omni-directional motion when 4 or more are
placed together as mirrored pairs. They are complex to setup, but once going expect
positioning machinery to get a whole lot easier! Warranty void at speeds over 30x. Tip:
Place the wheels so that their diagonal lines form an X shape from above. For more info
search 'Mecanum Wheel' on Koogle.

// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
attachRules = 1,1,0,0,0

// --- Standard Part Parameters ---
mass = 0.3
dragModelType = default
maximum_drag = 0.3
minimum_drag = 0.2
angularDrag = 1
maxTemp = 2000 
bulkheadProfiles = size0, srf

crashTolerance = 100
breakingForce = 100
breakingTorque = 100

// --- Robotics Parameters ---
MODULE
{
    name = MuMechToggle
    rotateJoint = True
    rotateAxis = 0, 0, 1
    keyRotateSpeed = 20.0
    rotateLimits = False
    limitTweakable = False
    invertSymmetry = False
    jointSpring = 0
    jointDamping = 0
    fixedMesh = Base
    servoName = Mecatron - Kuka (R)
    motorSndPath = ""        // Motor loop sound path
}

MODULE
{
    name = KSPWheelBase
    WHEEL
    {
        colliderName = Collider0
        radius = 0.135
        mass = 0.025
        travel = 0.05
        load = 0.25
    }
    WHEEL
    {
        colliderName = Collider1
        radius = 0.135
        mass = 0.025
        travel = 0.05
        load = 0.25
    }
    WHEEL
    {
        colliderName = Collider2
        radius = 0.135
        mass = 0.025
        travel = 0.05
        load = 0.25
    }
    WHEEL
    {
        colliderName = Collider3
        radius = 0.135
        mass = 0.025
        travel = 0.05
        load = 0.25
    }
    WHEEL
    {
        colliderName = Collider4
        radius = 0.135
        mass = 0.025
        travel = 0.05
        load = 0.25
    }
    WHEEL
    {
        colliderName = Collider5
        radius = 0.135
        mass = 0.025
        travel = 0.05
        load = 0.25
    }
    WHEEL
    {
        colliderName = Collider6
        radius = 0.135
        mass = 0.025
        travel = 0.05
        load = 0.25
    }
    WHEEL
    {
        colliderName = Collider7
        radius = 0.135
        mass = 0.025
        travel = 0.05
        load = 0.25
    }
    loadRating = 10
    minLoadRating = 1
    maxLoadRating = 25
    maxSpeed = 50
}

MODULE
{
    name = KSPWheelRotation
    wheelIndex = 0
    wheelMeshName = Roller0
    rotationAxis = 0, 0, 1
}
MODULE
{
    name = KSPWheelRotation
    wheelIndex = 1
    wheelMeshName = Roller1
    rotationAxis = 0, 0, 1
}
MODULE
{
    name = KSPWheelRotation
    wheelIndex = 2
    wheelMeshName = Roller2
    rotationAxis = 0, 0, 1
}
MODULE
{
    name = KSPWheelRotation
    wheelIndex = 3
    wheelMeshName = Roller3
    rotationAxis = 0, 0, 1
}
MODULE
{
    name = KSPWheelRotation
    wheelIndex = 4
    wheelMeshName = Roller4
    rotationAxis = 0, 0, 1
}
MODULE
{
    name = KSPWheelRotation
    wheelIndex = 5
    wheelMeshName = Roller5
    rotationAxis = 0, 0, 1
}
MODULE
{
    name = KSPWheelRotation
    wheelIndex = 6
    wheelMeshName = Roller6
    rotationAxis = 0, 0, 1
}
MODULE
{
    name = KSPWheelRotation
    wheelIndex = 7
    wheelMeshName = Roller7
    rotationAxis = 0, 0, 1
}
MODULE
{
    name = KSPWheelMotor
    wheelIndex = 0
    maxMotorTorque = 0
    maxRPM = 100
    gearRatio = 1
}
MODULE
{
    name = KSPWheelMotor
    wheelIndex = 1
    maxMotorTorque = 0
    maxRPM = 100
    gearRatio = 1
}
MODULE
{
    name = KSPWheelMotor
    wheelIndex = 2
    maxMotorTorque = 0
    maxRPM = 100
    gearRatio = 1
}
MODULE
{
    name = KSPWheelMotor
    wheelIndex = 3
    maxMotorTorque = 0
    maxRPM = 100
    gearRatio = 1
}
MODULE
{
    name = KSPWheelMotor
    wheelIndex = 4
    maxMotorTorque = 0
    maxRPM = 100
    gearRatio = 1
}
MODULE
{
    name = KSPWheelMotor
    wheelIndex = 5
    maxMotorTorque = 0
    maxRPM = 100
    gearRatio = 1
}
MODULE
{
    name = KSPWheelMotor
    wheelIndex = 6
    maxMotorTorque = 0
    maxRPM = 100
    gearRatio = 1
}
MODULE
{
    name = KSPWheelMotor
    wheelIndex = 7
    maxMotorTorque = 0
    maxRPM = 100
    gearRatio = 1
}
}

Note, there are 8 motors without torque because that seemed to be the only way to get the rollers to visually spin when passing over the ground. Does massively clutter up the right-click menu unfortunately.

Edited by ZodiusInfuser
Link to comment
Share on other sites

5 hours ago, ZodiusInfuser said:

realise this it a bit of an odd use-case, but would anyone be able to give me advise on how I may be able to get my Mecanum wheels working again?

Don't use multiple wheel colliders (for something like that).  Use a single WC with a 45 degree offset, and use special plugin code to facilitate the steering mechanics.  Then use constraints or another custom plugin to drive the rotation of the small rollers in each wheel.  At least that is how I would set it up.  You'll also need some sort of suspension travel in the main wheel part -- that is the only way the wheels can actually work (suspension compression is used to calculate friction, which is needed for all other wheel physics; no suspension/compression = no friction = non functional wheels).

One of the main problems you are going to run into with what you are trying is suspension travel -- very small travel ranges are highly unstable (simulation wise).  I can't imagine that you have more than 0.05 of suspension travel on those, which is far too small of a range.  Unity4 allowed for 'zero-length' suspension setups, which is simply not possible under Unity5, but would be necessary to simulate the wheel the way you are wanting to.

 

I've found that simulating wheel physics (for video games) is less about 'doing it perfectly', and more about 'doing it close enough' -- figuring out what effects are needed to make it look like its doing what you intend.

In this  case I think the 45 degree offset wheel-colliders is going to be the key to the effect you are looking for - the appearance of mecanum style wheels that can 'roll' in any direction.  You'll also need some custom plugin code to handle the motor and steering functions of those offset wheels (or even just kOS scripting?), as the default motor/steering is not intended for such a setup.

Link to comment
Share on other sites

21 hours ago, Shadowmage said:

Don't use multiple wheel colliders (for something like that).  Use a single WC with a 45 degree offset, and use special plugin code to facilitate the steering mechanics.  Then use constraints or another custom plugin to drive the rotation of the small rollers in each wheel.  At least that is how I would set it up.  You'll also need some sort of suspension travel in the main wheel part -- that is the only way the wheels can actually work (suspension compression is used to calculate friction, which is needed for all other wheel physics; no suspension/compression = no friction = non functional wheels).

One of the main problems you are going to run into with what you are trying is suspension travel -- very small travel ranges are highly unstable (simulation wise).  I can't imagine that you have more than 0.05 of suspension travel on those, which is far too small of a range.  Unity4 allowed for 'zero-length' suspension setups, which is simply not possible under Unity5, but would be necessary to simulate the wheel the way you are wanting to.

 

I've found that simulating wheel physics (for video games) is less about 'doing it perfectly', and more about 'doing it close enough' -- figuring out what effects are needed to make it look like its doing what you intend.

In this  case I think the 45 degree offset wheel-colliders is going to be the key to the effect you are looking for - the appearance of mecanum style wheels that can 'roll' in any direction.  You'll also need some custom plugin code to handle the motor and steering functions of those offset wheels (or even just kOS scripting?), as the default motor/steering is not intended for such a setup.

Thanks for the advice. As much as it pains me to switch from the previous implementation (something about it working like IRL physics appealed to me), your suggestion makes a lot more sense for getting the omni-directional functionality in to the game. I switched them to using single wheel colliders like you suggested (at 0.707 the actual wheel size to have the spinning be correct), increased their suspension, put their side friction to close to zero, and added rolling resistance. Here is the result:

It turns out the normal driving module with tank steering gives forward / back and turning control easily, but as you say, new code would be needed for that. Would that be better as a separate Motor module or a PR to the existing one? As for roller animations, if it's possible to get the side velocity of the wheel then I imagine that would be fairly easy to do as a new module?

Also, would you be open to having new functionality added to the mirroring module? For these it would be nice if the Left Spiral and Right Spiral versions could be switched between independently from the symmetry.

Link to comment
Share on other sites

4 hours ago, ZodiusInfuser said:

Also, would you be open to having new functionality added to the mirroring module? For these it would be nice if the Left Spiral and Right Spiral versions could be switched between independently from the symmetry.

I'm open to the idea, but there is a reason that I don't currently have that functionality -- will have to find a clean method to restart and re-initialize all of the KSPWheel part-modules and any other modules on the part that have references to transforms in the model.  Perhaps I already have some of that code in place, its been so long since I've worked on it that I honestly don't remember.

 

5 hours ago, ZodiusInfuser said:

Would that be better as a separate Motor module or a PR to the existing one?

I think this functionality might be better as a specialized module (e.g. similar to the repulsor-specific module), though I would have to have a better idea on what exactly needs to be done in order to better simulate the setup.  Is there a force diagram for that wheel setup anywhere?  Notably I'm curious on how the friction/etc works in the various movement directions.

One thing that would be beneficial for this module would be to dynamically alter the side and forwards friction values depending on the current inputs.  I think this would probably be key to proper simulation of the wheel (along with some custom motor controls / input handling).

5 hours ago, ZodiusInfuser said:

As for roller animations, if it's possible to get the side velocity of the wheel then I imagine that would be fairly easy to do as a new module?

I would integrate that functionality into the proposed custom 'mecanum wheel' module.  Yes, sideways velocity can be retrieved from the wheel collider easily (and fwd velocity, and a ton of other stats).  From there you would just need to radius of each roller, and it should be some simple math to figure out how fast it should be rotating based on the current surface velocity vector and the 'free rolling' vector for that roller.  (now, making it so that only rollers touching the ground spin would be a fair bit more complex...but likely doable)

 

On mecanum wheels -- are the individual rollers powered, or do they simply 'drag' as the main wheel spins?

 

Link to comment
Share on other sites

4 hours ago, Shadowmage said:

I'm open to the idea, but there is a reason that I don't currently have that functionality -- will have to find a clean method to restart and re-initialize all of the KSPWheel part-modules and any other modules on the part that have references to transforms in the model.  Perhaps I already have some of that code in place, its been so long since I've worked on it that I honestly don't remember.

Ah okay, I had not considered the complexities of switching a model when it's already been loaded and in use. Honestly, having separate parts works and I am sure players can live with a lightly more populated parts list.

4 hours ago, Shadowmage said:

I think this functionality might be better as a specialized module (e.g. similar to the repulsor-specific module), though I would have to have a better idea on what exactly needs to be done in order to better simulate the setup.  Is there a force diagram for that wheel setup anywhere?  Notably I'm curious on how the friction/etc works in the various movement directions.

One thing that would be beneficial for this module would be to dynamically alter the side and forwards friction values depending on the current inputs.  I think this would probably be key to proper simulation of the wheel (along with some custom motor controls / input handling).

I found this paper that details some of the maths involved: https://pdfs.semanticscholar.org/f971/36b372f36a588373142e17e8b68f6994227e.pdf
Also, there's this one about their geometry if you really want to delve in to it: http://www.geometrie.tugraz.at/gfrerrer/publications/MecanumWheel.pdf

From everything I read about the wheels when doing the original models, and using some at work, the use of rollers has the effect of simulating very low friction perpendicular to the roller rotation axis, and normal friction parallel to it, hence me putting the KSPWheel at 45 degrees with a low side friction. Most of the math I've seen for controlling them (and omni wheels too https://en.wikipedia.org/wiki/Omni_wheel) calculates the intended velocity vector at each wheel's position and takes the magnitude of that in the roller rotation axis direction, so the tricky bit there would be figuring out what velocity each wheel needs to produce a motion. This powerpoint seems to cover that latter issue pretty well for multiple 360 degree motion wheel types (the types I have for IR): http://first.wpi.edu/Images/CMS/First/2008CON_Omni_Mackenzie.ppt

4 hours ago, Shadowmage said:

I would integrate that functionality into the proposed custom 'mecanum wheel' module.  Yes, sideways velocity can be retrieved from the wheel collider easily (and fwd velocity, and a ton of other stats).  From there you would just need to radius of each roller, and it should be some simple math to figure out how fast it should be rotating based on the current surface velocity vector and the 'free rolling' vector for that roller.  (now, making it so that only rollers touching the ground spin would be a fair bit more complex...but likely doable)

Great! That's exactly what I was thinking of then to animate the rollers. As for only making the roller on the ground spin, if only the wheel collider contact point is considered then due to how these wheels are designed, only one roller is ever touching that contact point at any one time, so slicing the circumference of the main wheel up in to 8 (for example) and having some internal roller RPM for each should be enough to give the right effect IMO.

4 hours ago, Shadowmage said:

On mecanum wheels -- are the individual rollers powered, or do they simply 'drag' as the main wheel spins?

The individual rollers of mecanum wheels are unpowered and rotate freely in their bearings as they move over the surface. I've seen one exception to the un-powered case and that's this omni wheel by Honda, where the two directions are independently driveable (https://youtu.be/c1sgV7UBGUo). I was actually wondering earlier if this could be done with the current modules by having two wheel colliders on top of each other at 90 degrees at the correct sizes, although I haven't got a use-case in mind for KSP where this would be better than the other wheel options of the IR Rework.

I'm going to continue configuring the other mecanum / omni wheels with this setup, because even without any special plugin stuff, they are fun to play around with.

Edit: Omni wheel in-game. Very slidey though, so will probably have to increase the rotational resistance or something else that reduces the effect of backdriving on the motors.

Edit 2: Tried making that Omni wheel like the Honda wheel I linked to (with 2 wheel colliders at 90 degrees with zero side friction each) and other than the lack of an easy control system, it works with the wheels placed as you would on a car. Can drive forward and back with the main wheels and sideways with the rollers. Now to decide whether that part I showed should become this or whether to model a new one...

Edited by ZodiusInfuser
Added video
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Hi, I hope this is the right thread to ask this...

I wish to make a patch for a wheel but I am unsure of which values I need to change. The issue I wish to address is wheels breaking due to over stressing.

Here is a little code to let you see what I am thinking of doing.

Spoiler

@PART[KF_WheelLarge]:NEEDS[#1]:AFTER[#1]

#2

crashTolerance = 500
breakingForce = 500
breakingTorque = 500

#3

@MODULE[KSPWheelBase]

{
    loadRating = 8
    minLoadRating = 1
    maxLoadRating = 25
}

Yes I know the code is utter rubbish and will not work as written. It does serve as a clear way of asking some questions.

#1 can I just use KerbalFoundries . I think it should work since it is a folder directly under gamedata. I want to have my patch only run if KerbalFoundries is present.

#2 do I need to adjust these numbers or

#3 is it these numbers I need to change.

I have written a few patches for personal use, but I am unsure which numbers directly affect what I am trying for.

Many thanks.

Oh and yes I have looked at the load rating in game, my wheels are now very large, tweakscale I believe? is the in game option that allows size to be changed. I just feel that the wheels are a little too delicate, possibly their robustness? resistance to breaking does not scale well?

Link to comment
Share on other sites

27 minutes ago, Apaseall said:

Hi, I hope this is the right thread to ask this...

I wish to make a patch for a wheel but I am unsure of which values I need to change. The issue I wish to address is wheels breaking due to over stressing.

Here is a little code to let you see what I am thinking of doing.

  Reveal hidden contents

@PART[KF_WheelLarge]:NEEDS[#1]:AFTER[#1]

#2

crashTolerance = 500
breakingForce = 500
breakingTorque = 500

#3

@MODULE[KSPWheelBase]

{
    loadRating = 8
    minLoadRating = 1
    maxLoadRating = 25
}

Yes I know the code is utter rubbish and will not work as written. It does serve as a clear way of asking some questions.

#1 can I just use KerbalFoundries . I think it should work since it is a folder directly under gamedata. I want to have my patch only run if KerbalFoundries is present.

#2 do I need to adjust these numbers or

#3 is it these numbers I need to change.

I have written a few patches for personal use, but I am unsure which numbers directly affect what I am trying for.

Many thanks.

Oh and yes I have looked at the load rating in game, my wheels are now very large, tweakscale I believe? is the in game option that allows size to be changed. I just feel that the wheels are a little too delicate, possibly their robustness? resistance to breaking does not scale well?

Its much simpler than that -- go into the in-game difficulty options, find the mod settings, go to the KSPWheel entry, and you can disable or adjust the wheel damage stuff globally there.

If you are looking to adjust only a specific part (as per your example patch), I can probably help you figure that out as well, but will need time to look into what values actually need to be patched.

Link to comment
Share on other sites

1 hour ago, Shadowmage said:

Its much simpler than that -- go into the in-game difficulty options, find the mod settings, go to the KSPWheel entry, and you can disable or adjust the wheel damage stuff globally there.

If you are looking to adjust only a specific part (as per your example patch), I can probably help you figure that out as well, but will need time to look into what values actually need to be patched.

I did not think it would be that simple, hence me asking here. I will take a look. Thank you.

Link to comment
Share on other sites

Will be posting an updated release this evening to fix the dust-effects NRE log-spam -- will be disabling dust-effects entirely until I can rewrite the system.  Will also have 'official' KSP1.4.1 compatibility with tonights release, so anyone needing proper .version files for CKAN dependencies will have them.

 

Dust-effects will be returning.  But as they (or lack of them) don't interfere with the base functions of the mod (wheel physics), I'll be holding off on fixing them until I can get all of my other mods into at least 1.4.1 dev-testing state.

Have considered adding support for generic 'collision' based dust effects (e.g. spray some dust whenever things collide; either parts->terrain, or parts->parts).  Any interest?  (there was another mod that did something like this, but I've not tried it, and no idea if it has been/will be updated for 1.4+)

Link to comment
Share on other sites

That mod you mentioned should be this one:

If that one will not be updated ... I would say that I would like it very much if you (or someone else) takes over the screeching and rumbling stuff. It adds so much feel to the not-so-good landings and stuff.

Link to comment
Share on other sites

Hi, thanks for the replies so far.

I have two things I am having difficulty with. I have a big truck. 600t with eight KF Large Wheels sized to 2.5. Seems fine for load as each wheel is about 0.19 load. Playing in 1.3.1. In settings I am set for basic, not advanced.

First, I might as well be traveling over ice for all the ability to stay in a straight line is concerned. I turned down the steering low limit to 0.02 and the steering response to 0.02. This gave me a tiny improvement. These wheels are massive, loads of rubber to the floor. The slip seems way to high.

Second, despite setting the gear to 0.25, giving me a theoretical max speed of roughly 200m/s, when I do travel in a straight line, anything above about 100m/s caused rapid wear. I am not in game atm, so cannot recall the name of the field, something like wear time? The one immediately below the load stress display/bar.

Is there any advice regarding settings or do I need to throw a patch at it to increase the friction and do something about the lack of speed limit change with gearing?

Edited by Apaseall
Link to comment
Share on other sites

5 hours ago, Apaseall said:

Hi, thanks for the replies so far.

I have two things I am having difficulty with. I have a big truck. 600t with eight KF Large Wheels sized to 2.5. Seems fine for load as each wheel is about 0.19 load. Playing in 1.3.1. In settings I am set for basic, not advanced.

First, I might as well be traveling over ice for all the ability to stay in a straight line is concerned. I turned down the steering low limit to 0.02 and the steering response to 0.02. This gave me a tiny improvement. These wheels are massive, loads of rubber to the floor. The slip seems way to high.

Second, despite setting the gear to 0.25, giving me a theoretical max speed of roughly 200m/s, when I do travel in a straight line, anything above about 100m/s caused rapid wear. I am not in game atm, so cannot recall the name of the field, something like wear time? The one immediately below the load stress display/bar.

Is there any advice regarding settings or do I need to throw a patch at it to increase the friction and do something about the lack of speed limit change with gearing?

The excessive slippage I can get behind but a big truck... travelling faster than  360 kph (223.69  mph).... causing rapid wear....?

Link to comment
Share on other sites

7 hours ago, Apaseall said:

600t with eight KF Large Wheels

A vessel of that mass is NOT going to stop or accelerate very fast.  It is also not going to steer well at any sort of speed > 40m/s (~80mph).  That is physics for you.  (the wheels supply friction force roughly equal to the amount of weight resting upon them; +/- some from slippage and the traction curve)

Friction can also be adjusted in the in-game difficulty settings -- but if you touch that setting, you forfeit all support.

7 hours ago, Apaseall said:

Second, despite setting the gear to 0.25, giving me a theoretical max speed of roughly 200m/s, when I do travel in a straight line, anything above about 100m/s caused rapid wear.

Did you go into the in-game settings and disable the wheel damage like I posted recently? The system is working as intended, so that is your option to 'solve' your problem.

Max safe speed does not scale with gear ratio, and is entirely different from 'max driven speed' (the max speed the motor can push the wheel to); max safe speed is set by the wheel config and current scale.  So by changing the gear ratio to 'go faster' you are intentionally causing the wheel to break by pushing it past its safe limits.

And as @Starwaster says, that kind of speed is simply unrealistic for that kind of vehicle.

 

Link to comment
Share on other sites

@Shadowmage Thanks for the clarification. I was not able to understand from the labels why damage was occurring above a certain speed that seemed lower than a value I was seeing. It at least makes some sense to me now.

No I did not yet disable the damage, I have kept the BASIC setting. As for the friction, I was hoping that a mass of 600 t would be enough to cause some friction. The suspension certainly seems to think there is significant mass as the load at the wheel is roughly 0.2 at rest. My head was thinking 'look at the width of the tread, that must give loads of grip'. Which I guess there is, as I am able to get the 'truck' to turn, just only a 'bit' before it slips.

Other than the speed limit issue, when traveling in a straight line this looks and works great. I angled the additional thrust downwards slightly to reduce 'air time' which marginally increase the load at the wheel. I also added a 300% scale tail fin. This when combined with a plane auto pilot which limits the speed and tries to hold a heading appears to work. Just don't try to change the heading too much each time and eventually you can turn without spinning round on the spot from slippage.

@Starwaster Given the sheer size of the vehicle, for relatively low rpm the wheels cover a lot of ground. These wheels have to be seen to be believed. Then it still does not register how big they are. Only when a wheel breaks and you send out a kerbal to fix them does you yaw drop the final way to the floor. :)

The truck looks butt ugly, This is because I have stacked a lot of stuff on the top of the body. The center of mass is difficult to lower as I need ground clearance, but I have the load front to back balanced to the eyeball mid part of the length. But then again I am not thinking that a low CoM will change the slippage. Oh and anti-roll is maxed as a previous iteration of build had a very tall part and I was worried about toppling over in the curves.

600 t is the tare mass, I do have storage but that is empty and is only to be used when stationary. Which reminds me I might have to find a way of emptying that ... if I ever want to relocate.

Link to comment
Share on other sites

  • 2 weeks later...
On 4/7/2018 at 5:16 PM, RaccoonTOF said:

Just posting here to let you know that the NRE issues with dust effects are still going on with the 11.8.26 build.  Details and log in the github issue tracker.

Thanks, will try and get this narrowed down and fixed up this week.  Has been a bit of a head-scratcher as I've so far been unable to duplicate the issue, but I'll at least put some additional debug-output code in place to try and narrow it down a bit.

Link to comment
Share on other sites

All looks good so far...but being as it was an intermittent problem in the first place, I'll keep an eye on the log for the next bit just to make sure it is really gone :)  Thanks for the quick turnaround on such a frustrating problem.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...