Velocity of parent local to child

var vel = rigidBody.GetRelativePointVelocity(wheel_fr.localPosition);
var tempvector = wheel_fr.right*-wheel_fr.InverseTransformDirection(vel).x;
rigidBody.AddForceAtPosition(hitnormal_rspring_strengthhitlength_r+hitnormal_rhitdelta_r + tempvector500 ,ray_origin_r,ForceMode.Force);

    	vel = rigidBody.GetRelativePointVelocity(wheel_fl.localPosition);
    	tempvector = wheel_fl.right*wheel_fl.InverseTransformDirection(vel).x;
      	rigidBody.AddForceAtPosition(hitnormal_l*spring_strength*hitlength_l+hitnormal_l*hitdelta_l + tempvector*500 ,ray_origin_l,ForceMode.Force);

So what I’m working on is a car game with ray cast suspension. The car itself is a rigidbody with offset force application for each wheel. I got the suspension done nicely but i can’t get the lateral grip to work properly. Essentially what I need is to read the velocity of the main car rigidbody but in the position and axis of the child/wheel. For some reason InverseTransformDirection doesn’t do it for me even though alot of my google searches have led me to this function.

I’m lost. Any help appreciated! Thanks in advance

I think i’ve managed to further isolate the problem… I’ve changed my mind about InverseTransformDIrection and it appears to be working. However it seems as if the offset velocity check doesn’t work properly. Specifically this:
vel = rigidBody.GetRelativePointVelocity(wheel_rl.localPosition);

I made this conclusion by drawing lines and figuring out that the tyres lateral speed is correct when the car is moving at a considerate speed however not when the car is stationary and rotating.

The wheels are direct childs of the rigidbody gameobject. I also tried subtracting the offset velocity with the rigidbody main velocity and it seems to give a net value of something else than 0 which is highly confusing…