Jump to content

Why won't my rover wheels grip? [re-post]


Recommended Posts

Hey, I accidentally posted this in the add-on support section due to the fact that I keep forgetting that rover wheels aren't add-ons anymore but I've decided to re-post it here because this page gets more views.

So, I've just been experimenting with my rover on the Mun (after doing pre-launch tests on kerbin) and the wheels really struggle to grip on the Mun, there is a lot of what appears to be understeer. Is this just due to the low gravity? If so, surely my heavy vehicles would be able to grip, but they don't. Is this the way it's supposed to be or am I doing something wrong? These are the two rovers I have on the Mun so far and neither of them has much grip. I'm using MechJeb, KAS and the Flight Engineer add-on

Uxvn61b.jpg

Cheers

Link to comment
Share on other sites

Actually, it isn't low gravity. There's virtually no friction. You can test this on Kerbin by trying to drive up the launch pad, especially along the sides where the 30° incline shows that NOTHING grips the side. For a true feel of traction, download one of BobCat's DEMVs and try the same experiment. You will find that BobCat coded friction into his wheels, which Squad failed to do, likely because they had things higher up the priority chain to work on.

Link to comment
Share on other sites

The problem here is not the grip from the wheels, it's the pod and probe torque when you turn.

Try docking mode to disable the pod torque, and you will find it is a lot easier.

You can also turn easier with Q and E than with A and D on the Mun :)

Link to comment
Share on other sites

Oh, I had forgotten about that! Yes, the torque from the command modules does do that... definitely remap your rover controls for the best response.

Salvager, not to be disrespectful, but there actually is near 0 friction with rover bits. Rovers at rest really will slide sideways. This is because vehicles run/park on rails (like GT5) and so the calculations are based on driving on a level surface, with inclined surfaces affecting acceleration like they would a rocket or plane, which is completely understandable considering the difficulty that would be involved in making the rovers behave more realistically.

As for my comments about the lack of friction, I came to my conclusions through a series of experiments that I have been performing with the wheels over the last few weeks, and have made a few interesting discoveries, such as: unlimited wheel torque and a bizarre torque curve that I think is supposed to simulate the torque curve in an electric motor, but I can't tell (discovered in an experiment to calculate what 1 unit of energy actually is in watts. Inconclusive since the unlimited torque makes determining watts impossible); a stiction coefficient of about .05 - the equivalent of driving on sheer perfectly smooth ice (in an experiment to confirm whether or not the torque really was unlimited by driving up various inclined surfaces... I couldn't complete it because the wheels have virtually no traction. Only momentum will propel a rover up a hill. Try this yourself.); and that lateral acceleration doesn't appear to affect the vehicle - other than to flip it like it was on landing gear - so no calculating skidpad Gs (I suspect that experiment is also useless since there is a bizarre steering curve which I cannot make sense of). These issues are all exacerbated on low G planets.

I did these experiments because I do amateur off-road racing and used to build racers (and off-road hotshot trucks), and was curious what my B.O.E would be with the rover bits... as it turns out I learned way too much about rover parts for my own good, lol.

Now, I do confess that I play this on a mac, so maybe these are are mac issues, but I did try BobCat's DEMV (ANT to be specific) to see if it was a mac unity thing, and the DEMV performed exactly as I expected it to, including being able to both climb as well as park on an incline past 20°, which you cannot do with the stock wheels.

That said, I do fully understand that this is a space game and not a driving sim, so do please not take my post as a criticism of Squad or their efforts. I am merely pointing out to a fellow player that there are shortcomings and limitations to what Rover wheels can do and why those shortcomings and limitations exist. I'm sure if Squad felt it was a real issue that affected gameplay that they would rectify it. I suspect these issues will likely be addressed by a modder since I'm sure most players would rather have the devs focus their efforts on other, more important things, like, say, flag planting and resources/mining/strut guns. :wink:

Edited by Scoundrel
spelling and my first part didn't show up
Link to comment
Share on other sites

So far, I've only tried the stock rover wheels on Kerbin, Mun and Minmus. And boy do they behave differently. A rover that is perfectly capable of keeping a straight heading on Kerbin will need constant adjustments on the 2 moons. And the only difference I've seen when using docking mode is that they don't try to flip when I accelerate or go in reverse.

That behavior is one of the reasons I stick with the DEMVs for my manned rovers and the old cleverbobcat one for my probes.

Link to comment
Share on other sites

I find the provided rover wheels frustrating. Sure, I've made a decent Mun rover with medium wheels, but it's not traveling any appreciable distance. 1 lat on the Mun is probably like 10km and as unrealistic as it is, I want a vehicle that can reliably zoom around at 100m/s (if I'm not mistaken, that's 360km/h or 225 mph). I wouldn't mind the realistic slowness if I could just set the rover to automatically drive in a straight line for hours, but I have to hold the 'forward' key the entire time I want it to keep going, just to keep it from slowing down.

I've been messing with the part.cfg files and tripled each wheel's 'speed limit'. To compensate for my version's increased abilities, I doubled the power consumption. Now I want to similarly increase the wheel's power, or torque, or whatever makes the rover go, but I don't know what variable that is. Here some of the part definition for one wheel:

MODULE
{
name = ModuleWheel
hasMotor = true
resourceName = ElectricCharge
resourceConsumptionRate = 1.0
canSteer = true
controlAxisType = Forward
steeringModeType = AutomaticSteer
brakeTorque = 180
brakeSpeed = 1.0
impactTolerance = 65
overSpeedDamage = 60

WHEEL
{
wheelName = wheel
wheelColliderName = wheelCollider
suspensionTransformName = suspensionTraverse
suspensionNeutralPointName = suspensionNeutralPoint
damagedObjectName = bustedwheel
rotateX = 0
rotateY = 1
rotateZ = 0
}

steeringCurve
{
key = 0 18
key = 15 6
}

torqueCurve
{
key = 0 170 0 0
key = 2.5 100 0 0
key = 12 0 0 0
}

}

Can anyone tell me:

- What do the variables under torqueCurve and steeringCurve mean?

- How can I change them to increase the wheel's ability to get things moving?

- Should I turn DOWN steeringCurve to make high speeds safer?

- Should I also alter impactTolerance? If it's in m/s, I don't think there'll be a problem

I'm gonna do some experimenting on my own soon, but if anyone has had success with these, lemme know

Link to comment
Share on other sites

Is there any way to alter the stock wheels to give them some friction, like the Bobcat DEMVs? Even on Kerbin, they seem to be getting WAY less traction than they should, and it takes a good long time to brake to a stop.

Link to comment
Share on other sites

from my experiences in KSP, both rovers and jet's don't behave as they should

the jets struggle getting lift/glidding and struggle turning as a real plane/jet would, it seems they simply copied the shuttle and expected it to work

as for the rover wheels, it comes down to a few things, but the wheel physics weren't implemented correctly

KSP uses Unity and their wheel physics are debatable (and bad) it also needs 'materials' to determine the amount of friction a mesh has but its optional

how do I know it uses Unity? Alt+F12, that GUI style is Unity's Default skin, i should know because I'm a Unity Developer.

Link to comment
Share on other sites

I've been messing with the part.cfg files and tripled each wheel's 'speed limit'. To compensate for my version's increased abilities, I doubled the power consumption. Now I want to similarly increase the wheel's power, or torque, or whatever makes the rover go, but I don't know what variable that is. Here some of the part definition for one wheel:

<snip>

Can anyone tell me:

- What do the variables under torqueCurve and steeringCurve mean?

- How can I change them to increase the wheel's ability to get things moving?

- Should I turn DOWN steeringCurve to make high speeds safer?

- Should I also alter impactTolerance? If it's in m/s, I don't think there'll be a problem

I'm gonna do some experimenting on my own soon, but if anyone has had success with these, lemme know

If you're tripling the 'speed limit' while keeping the same torque curve then you need to (at least) triple your power consumption if you want something approaching consistent let alone realistic.

Okay, here's my purely non-programmerlike speculation:

Torque curve: IRL, this is a graph of the torque/rpm. In ksp terms, this is the amount of "thrust" your wheels have at certain rpms. I don't know how the coded numbers work, but I suspect the number is linked to velocity or a velocity equivalent. The torque curve numbers make no sense (to me) for electric motors since, generally speaking, most electric motors have about 8x the rated torque at 0 rpm (meaning as it spins up it has 8x the torque, but it drops off - usually linearly, though there are exceptions - to 1x the rated torque at the rated rpm). If you want to make your rover accelerate like a bat out of hell, double or triple both the first and the second number in the key line. If you multiply your overspeeddamage number by 3 or 4 as well, your rover wheels should give you a top speed close to what you are looking for as well as the ability to actually reach that speed. I personally haven't tested it, but if you give it a go, let me know if I was close or if I was just talking out my posterior.

Steering curve: looks to be the maximum degrees angle that the wheels will lock as you turn, though it could also be turn rate. The first is a velocity number, the second is the degrees. I have no idea why they did that. Definitely lowering it as you go faster will probably keep your rover stable at high speeds if you've set your CoG too high so it becomes tippy. I use ballast on my rovers to get my CoG low and they almost never tip.

Impact tolerance you can probably leave alone, though if you keep blowing tires from hitting rocks at 200kmph you might want to up it.

Is there any way to alter the stock wheels to give them some friction, like the Bobcat DEMVs? Even on Kerbin, they seem to be getting WAY less traction than they should, and it takes a good long time to brake to a stop.

Sadly, not without making a plugin and, likely as not, new config files for each part.

Personally I've been pondering the idea of bugging BobCat or someone equally as brilliant to work with me on a rover mod to solve these problems - proper torque curves, wheel lock, traction, etc. - as well as using the throttle setting normally used for rockets, and a custom gui button to switch to rover mode so W gears up rather than accelerates (1st, 2nd, 3rd, etc), and S gears down (including neutral, reverse) and a few other ideas... but before I can even think of doing any of that, I have to figure out what 1 kerbal power unit is equal to in watts, because without that, I can't calculate top speeds, torque, and so on. Very frustrating.

That said, as clever as I may think my ideas are, I can't code (I know, I am but a stupid petrolhead), and modders have their own projects to work on, so it'll probably just die stillborn.

Edited by Scoundrel
fixin mah darned typos!
Link to comment
Share on other sites

Agree with some of the above; using docking controls or rebinding the keys makes a huge, huge difference to rover stability and grip.

You should be able to get up to good speeds even on a low grav moon eventually, but moving off can be hard due to the low friction between the wheels and the surface. This can be countered quite well by placing skyward facing RCS thrusters and using them while moving off. They push the rover onto the surface and give it better traction... once you're gaining speed they can be turned off.

Finally, one of the rovers in question, although very large, doesn't look at all heavy based on the parts, and due to the shapes and balances, neither will be a stable high speed vehicle, but I'd bet using docking control (and at worst adding RCS) would get you moving at a decent speed!

Link to comment
Share on other sites

8That said, as clever as I may think my ideas are, I can't code (I know, I am but a stupid petrolhead), and modders have their own projects to work on, so it'll probably just die stillborn.

I'd seriously put this idea forward if you can - many modders are great at coding but lack the engineering/physics/etc side of things to develop ideas such as yours. A collaboration could result in something excellent.

Link to comment
Share on other sites

Is there any way to alter the stock wheels to give them some friction, like the Bobcat DEMVs? Even on Kerbin, they seem to be getting WAY less traction than they should, and it takes a good long time to brake to a stop.

Yeah, the problem is definitely not pod torque... flipping over would be a pod torque problem, but not sliding around sideways. Driving on the Mun is like driving on ice.

I would be thrilled with replacement part.cfgs for the stock rover wheels that adapted them to use BobCat's plugin. I'll try to play around with that myself, if nobody more knowledgeable does.

Edited by RoboRay
Link to comment
Share on other sites

Yeah, the problem is definitely not pod torque... flipping over would be a pod torque problem, but not sliding around sideways. Driving on the Mun is like driving on ice.

I would be thrilled with replacement part.cfgs for the stock rover wheels that adapted them to use BobCat's plugin. I'll try to play around with that myself, if nobody more knowledgeable does.

Any luck so far?

Link to comment
Share on other sites

  • 1 month later...

- What do the variables under torqueCurve and steeringCurve mean?

- How can I change them to increase the wheel's ability to get things moving?

I have a theory for the meaning of the torqueCurve values, for which I welcome community review.

key = speed torqueX torqueY torqueZ

So for the stated speed (in m/s), the torque the wheel can apply on each axis is specified.

Most examples of I've seen 4 values per key, with the second two values being 0. (there is

Here is the torqueCurve section from medWheel (the new, grippy black wheel)


key = 0 100 0 0
key = 2.5 70 0 0
key = 30 0 0 0

So from stopped, these wheels can apply a lot of force (compared to roverWheel1 below), meaning they pick up to a decent speed very quickly.

Once moving at 2.5m/s, this drops off slightly, then tails off gradually till there can be no further acceleration after 30m/s.

This fits with observed behaviour, with the wheel reaching about 20m/s, but then accelerating slower and slower as torque drops off to nothing.

Here is the torqueCurve section for roverWheel1 (the normal sized, springy, slippy wheel):


key = 0 16
key = 10 9
key = 30 2

This torqueCurve definition doesn't follow the pattern of 4 values per key line, but I would guess that the missing values (allegedly torqueY and torqueZ) are implied to be zero.

Note here that the torque from 0m/s is much lower, giving a rather slow pull-off speed (again fitting with observed behaviour).

Torque again slowly drops off as speed increases, until it reaches a minimum of 2 torque for 30m/s and above.

This theoretically means roverWheel1 has no upper speed limit;

however its excess torque needed to move at greater and greater speed means it would take a VERY long time to go much faster than the observed 20m/s, which is again where I would guess is it terminal velocity to due to whatever friction or air resistance the game currently has.

Feel free to discuss, correct or improve. It's just an idea, which I've not had time to test fully yet. Hope it helps, and that this isn't already old news, if I'm right.

Link to comment
Share on other sites

  • 1 year later...
but before I can even think of doing any of that, I have to figure out what 1 kerbal power unit is equal to in watts, because without that, I can't calculate top speeds, torque, and so on. Very frustrating.

I'd be careful trying to attribute too much realism to electrical power in KSP. I suspect their values are pretty arbitrary, but here's what I've estimated.

Stock spotlights consume electric charge at 0.02 and 0.04. I assume the lights are LED (Because using a filament or fluorescent globe in space seems kinda dumb to me), and the output of both seems to be fairly close to what I would expect from good quality 10W outdoor spot/flood lights (one configured for a more focused beam, one for a broad beam). One uses twice as much power as the other, but I'd estimate about the same 1100-1500lm from each.

If the lights are 10W-20W, that would make the standard stock electric wheel 500W-1000W. That seems kinda feasible to me, but I know way more about lights than motors.

So far as battery and solar panels go, I'm not sure how they compare to reality. I've heard they are pretty crap compared to those on the ISS, but that's hearsay.

Alas, if only I had the time, I could code a mod that would balance the power requirements and supplies in KSP.

Oh, I'd also need to learn how to code...:P

Edited by EvilOverlord
Link to comment
Share on other sites

I wouldn't mind the realistic slowness if I could just set the rover to automatically drive in a straight line for hours, but I have to hold the 'forward' key the entire time I want it to keep going, just to keep it from slowing down.

If you're not averse to mods and some basic coding you can download the KOS mod. There are samples of code out there for creating autonomous rovers.

Link to comment
Share on other sites

Oh hi there old thread.

You're referring to a version of KSP that is over 14 months old. So I think it's best for you to rest at the bottom of the forum.

Good night gentle thread,

~Claw

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...