1. The forum will be closing soon permanently. Please read the announcement here

    Note: User registration has been closed. We do not accept any new accounts.

Suggestions regarding suspension block and wheels

Discussion in 'Suggestions and Feedback' started by AutoMcD, Apr 6, 2016.

Thread Status:
This last post in this thread was made more than 31 days old.
  1. AutoMcD

    AutoMcD Senior Engineer

    Messages:
    2,369
    Instead of a typical sarcastic bash about how crude of tools these feel like, I figured I would lay out some details which would go a long way towards making wheels and suspensions more refined.

    Now before I get too far into this, I'll point out a few other threads which I totally agree with.

    Sinbad makes some clear simple points here:
    https://forum.keenswh.com/threads/a-letter-to-keen-re-wheels.7366155/

    Case for separating the suspension from the wheel because springs have other purpose:
    https://forum.keenswh.com/threads/springs.7366299/#post-1286819569
    LANDING GEAR NEEDS DAMPENING.

    Case for making rotor/piston connections "single grid" in the eyes of the controller:
    https://forums.keenswh.com/threads/v...sion-carry-over-to-multi-grid-builds.7373982/

    Case for better steering options:
    https://forum.keenswh.com/threads/wheel-steering.7374096/#post-1286889715


    There's a multitude of reasons I'm dissatisfied with the suspension and wheels so I'll try to break them into separate issues. Some of this is pretty obvious so bear with me.

    Friction:
    From what I can tell friction is only calculated for the tread side of the wheel, and it is a perfect cylinder.
    This makes it terribly easy to get stuck on rough terrain if the tread face is not parallel to the ground. Real tires are not perfect cylinders, there is a contact patch caused by the tire shape deforming under the vehicle weight.
    [​IMG]
    The amount of friction that this provides would seem realistic enough if it followed the friction circle:
    [​IMG][​IMG]
    Such a model in place should easily allow for different friction characteristics of what surface you're driving on as well.
    Something not quite as obvious from just looking at the charts is that weight increases the friction circle. So upon acceleration the weight transfers to rear wheels, both charts for rear tires get much larger while the fronts shrink.
    Also, the angle of the tire to the ground affects this. Motorcycle tires are very consistent across a broad range of camber while traditional tire doesn't do so well on it's edge. But they all do have a rounded edge!
    Playing a game such as Forza with the telemetry readout showing is a great way to understand it well.
    [​IMG]
    I'm not sure how different this is from how SE is doing friction, perhaps it's entirely just an issue with wheel shape not being a tire shape. Or perhaps it needs to be fundamentally updated.


    Control:
    The cockpit not being able to control things which are considered a separate grid is a terrible limitation. Grids attached via rotors and pistons should be controllable.
    What does this mean exactly? If I surrounded the cockpit with a sphere of rotor attached thrusters in every direction then hit W, I would want the ones most aligned with forward vector to go 100%, with the ones only 20% matching forward vector to burn at 20%.
    Automatically calculate direction and give zero fucks about it.
    And wheels? The suspension block does an ok job guessing this, but it is impossible to build a custom suspension and link rotors to WSAD controls.
    What I want to do with cockpit control is implemented beautifully in Scrap Mechanic.

    Why can't rotors act like this? Instead they are like the most awkward part ever.

    So on topic of steering and the cockpit automatically figuring things out, Ackermann steering.
    [​IMG]
    This one should be easy for you guys.
    So easy in fact that there is already a script for it!
    https://forums.keenswh.com/threads/wip-ackermann-steering-suspension-block-controller.7372331/
    There's no excuse for a vehicle using suspension block wheels to be hopping around in corners like a jeep with locked differentials!
    Linnux's version in that thread even gives an offset adjustment so you can control how far back the pivot line is from the control.

    Suspension:
    I have a few issues with the suspension block, and that I am tethered to it if I want to keep my WSAD controls.
    Power should be torque. Making it a % of available ship power is just a strange and inconsistent way to do things, and if it's got a large reactor then turning it up past 50% throws down enough torque to pop the wheels off!
    Braking power should be adjustable.
    Strength should be spring rate, and not a linear one at that. Well perhaps that can be an option. There's 3 common types of springs used in vehicle suspensions:
    [​IMG]
    They perform exactly like they sound like, the one in game right now seems to be linear. The type of spring in most cars is progressive, the spring rate chart goes up exponentially. This is how we have suspension soft enough to go over speed bump without being bounced into the air, but a dip in the road doesn't make the car bottom out. For the typical SE vehicle this would be preferable since the suspension has very little travel and bottoming out usually means destruction.
    Dampening: performs as advertised. :)

    So about the suspension geometry, it obviously is a perfectly vertical model. This means we don't get any camber and the castor is artificial (steering return).
    The problem with this is that camber helps maintain friction during turns as the vehicle body rolls.
    [​IMG]
    Our vehicle in SE would be sliding out from riding on the frictionless wheel edges. I've done it!

    A bit of negative camber helps tires turn in more aggressively, slight toe in and castor helps with high speed stability. I'm not sure that this will matter for SE but good to know, could become factor if friction becomes realistic enough.

    The other thing about suspension geometry is that IT CHANGES. It's not a ridgid block that will bottom out.
    Let me draw this out, would be quicker. Our camber picture vs SE suspension during a turn.
    [​IMG]

    That is all. Thanks for listening.
    [​IMG] [​IMG]
     
    Last edited: Nov 20, 2016
    • Like Like x 6
    • Agree Agree x 3
  2. AutoMcD

    AutoMcD Senior Engineer

    Messages:
    2,369
    [​IMG]
    That last image was the Halo Warthog, famous for being unstoppable off-road.

    I also wanted to mention that the parking brake does not seem to work very well, most of my vehicles will SLOOOOWLY roll away, even on relatively flat ground and with thruster dampeners going.

    Plus.. the kmh vs mps display speed, that should be an option. If you make a spacecraft that happens to use wheels to land on, you don't really care what the land speed is.
     
    • Like Like x 1
  3. Mobiyus

    Mobiyus Apprentice Engineer

    Messages:
    253
    You outlined the issues beautifully. I couldn't agree more.
     
  4. Coreinsanity

    Coreinsanity Apprentice Engineer

    Messages:
    188
    Completely agree with this thread.

    I really hope the wheels can get polished up and a suspension being added to the game. Your last two pictures pretty much cover my frustration with the current planetary land vehicle setup, with wheels. You can't really do that practically, if at all.

    Really nice presentation, too.
     
  5. Stardriver907

    Stardriver907 Master Engineer

    Messages:
    3,368
    My favorite thing to do in Halo has always been driving Warthogs. Interesting fact is that when Bungie made Reach they did their best to make the physics in the game as realistic as possible. Every vehicle in the game behaves like the real deal. If you want to know how a Warthog really handles, drive one in Reach.

    having said that, the major difference between vehicles like the Warthog and SE vehicles is that SE wheels are all independently driven, as in each wheel has it's own power source as opposed to sharing input with another wheel on the opposite side. One could conclude, therefore, that there might be some on-board logic that electronically handles things usually done through mechanical methods, such as the work done by a differential or steering linkage. The radius of a turn is smaller for the "inside" wheels that the "outside" wheels and therefore the "inside" wheels need to make a sharper turn. However, this does not happen with the Warthog. My understanding from research suggests that the Warthog and the other unstoppable vehicle, the Scorpion, share the same suspension model. The Scorpion has treads instead of wheels so they don't turn. steering is accomplished by slowing down the inside treads. The animations for the different vehicles is different but the results are the same. Low CG for the Warthog is why power-sliding is what you do if you want to stay alive and, more importantly, keep your gunner alive. The only way to flip a Warthog is to run into something. SE vehicles tend to flip if the CG is high and you try to turn at high speed ("high" being relative). The Warthog, though, exemplifies all the characteristics of a perfect high-speed off-road vehicle: Low CG and limited steering angle.

    The only problem with Warthogs in Reach is that Reach was much larger than Earth and gravity was higher. With the physics being realistic the result was that the Warthog tended to bounce more due to, I'm guessing, no adjustment to dampening to compensate. In the end it didn't matter. You just got used to it and dealt with it.

    *I recall Forza has a Warthog, so I guess that's where you really want to see how one really handles since Forza is 1 g :D.
     
    • Like Like x 1
  6. AutoMcD

    AutoMcD Senior Engineer

    Messages:
    2,369
    My impression of the warthog is that it that each wheel has an electric motor at the end of the control arm. You don't see any other linkages. And it doesn't need them, the electrics can put down the same torque and be operating at different speeds. Locking the rpm to a particular speed would be bad.
     
  7. AutoMcD

    AutoMcD Senior Engineer

    Messages:
    2,369
    Bump. Because wheels.
     
  8. santibag

    santibag Trainee Engineer

    Messages:
    53
    I liked that but I think they cannot even think about making wheels better while trying to solve more important issues. Other than that, SE already has lots of issues and this is one of them. I'm suffering from that there aren't good warnings on suit about gasses running out while in space.
     
  9. Lynnux

    Lynnux Junior Engineer

    Messages:
    881
    Nice thread.
    Still one of the most annoying issues of suspension wheels is the "sudden grip to flip". At a certain speed the grip changes immediately from sliding (sideways) to full grip which causes a torque which may flip the vehicle.
    I use a script to counter this effect but not everyone knows how to program or how to use a programmable block. Therefore this issue should be removed directly in the vanilla wheels.

    The other issue which is annoying is the wheels being bumpy when the strength setting is high. But for the wheels/vehicle not to break easily a higher strength setting is necessary. Reason for this behaviour is the linear spring force.
    Skleroz addressed this in a script (again) by increasing the strength the faster the vehicle is moving downwards (idea from Leonser). Therefore a low strength setting can be used. But unfortunately this doesn't work on an uneven road at high speed.
    Simulating a non-linear spring force could be done in a mod using the current wheel height and maybe the upward acceleration to adjust the strength.
     
    Last edited: Nov 20, 2016
  10. AutoMcD

    AutoMcD Senior Engineer

    Messages:
    2,369
    Yeah, actually I used your script on my rover. It was a mining+building relay race so kind of heavy for how fast we were going. But it still ended in tears. Clang found different ways to hit us.
    edited the OP, had to rehost the spring types picture.
     
Thread Status:
This last post in this thread was made more than 31 days old.