Unity & C# - car going a little bit unsmooth on ramp

I am making a racing game. When the car I made is going up on a ramp, it becomes a bit jittery. Don’t think it’s the camera issue as the game looks smooth on plain grounds and when going down a ramp. I followed this tutorial:https://www.youtube.com/watch?v=cqATTzJmFDY&list=PLllUqr_Vxwvto-j8J-Fk2XmjQhn2PcwlZ∈dex=2

I noticed that in this tutorial, the author’s final outcome is also a bit jittery on ramps. This is the code:

private void Start()
     {
         sphereRb.transform.parent = null;
     }
     private void Update()
     {
         speedInput = 0;
         if (Input.GetAxis("Vertical") > 0)
         {
             GetInputForMoving(forwardAccel);
         }
         else if (Input.GetAxis("Vertical") < 0)
         {
             GetInputForMoving(reverseAccel);
         }
         turnInput = Input.GetAxis("Horizontal");
         if (grounded)
         {
             Turning();
         }
         SetWheelsRotation();
         transform.position = sphereRb.transform.position;
     }
    
     void GetInputForMoving(float directionAccel)
     {
         speedInput = Input.GetAxis("Vertical") * directionAccel * multiplier;
     }
     void Turning()
     {
         transform.rotation = Quaternion.Euler(transform.rotation.eulerAngles + new Vector3(0f, turnInput * turnStrength * Time.deltaTime, 0f));
     }
     void SetWheelsRotation()
     {
         leftFrontWheel.localRotation = Quaternion.Euler(leftFrontWheel.localRotation.eulerAngles.x, (turnInput * maxWheelTurn) - 180, leftFrontWheel.localRotation.eulerAngles.z);
         rightFrontWheel.localRotation = Quaternion.Euler(rightFrontWheel.localRotation.eulerAngles.x, (turnInput * maxWheelTurn), rightFrontWheel.localRotation.eulerAngles.z);
     }
     private void FixedUpdate()
     {
         grounded = false;
         RaycastHit hit;
         //if hits ground
         if (Physics.Raycast(groundRayPoint.position, -transform.up, out hit, groundRayLength, whatisGround))
         {
             grounded = true;
             transform.rotation = Quaternion.FromToRotation(transform.up, hit.normal) * transform.rotation;
         }
         if (grounded)
         {
             Moving();
         }
         else
         {
             Dropping();
         }
        
     }
     void Moving()
     {
         sphereRb.drag = dragOnGround;
         if (Mathf.Abs(speedInput) > 0)
         {
             sphereRb.AddForce(transform.forward * speedInput);
         }
     }
     void Dropping()
     {
         sphereRb.drag = 0.1f;
         sphereRb.AddForce(Vector3.up * -gravityForce * 100);
     }

Please help I am really struggling. Sorry for my English, thanks in advance!

You can use some kind of time-weighted filtering to smooth out positions and/or rotations.

Also when you apply forces to suspend the car, line 69 looks like you always suspending it by the full weight. Instead, suspend it by more the closer it gets to the ground, which will give a cushioning “hovercraft” effect, much smoother.