Add Force teleporting the player

I want to push back my player when it collides with an object but when it collide with the object, it just teleporting back rather then pushing smoothly. I tweaked with values like Mass, Drag on player’s rigidbody or knockbackStrenght value from script. It just teleporting further positions with higher values and teleporting to closer positions with lower values but it always teleports not pushback.

My code on the object that will push back player looks like:
public class StickRotator : MonoBehaviour
{
[SerializeField] float rotateSpeed;
[SerializeField] float knockbackStrenght;
[SerializeField] Vector3 rotateDir;

    Vector3 _parentPos;

    void Start()
    {
        _parentPos = GetComponentInParent<Transform>().position;
    }

    void Update()
    {
        transform.RotateAround(_parentPos, rotateDir, rotateSpeed * Time.deltaTime);
    }

    void OnCollisionEnter(Collision other)
    {
        if (other.gameObject.CompareTag("Player"))
        {
            other.gameObject.GetComponent<Rigidbody>().AddForce
                (Vector3.back * knockbackStrenght, ForceMode.Impulse);
        }
    }
}

Player Components:

For example, this is where its teleporting back when it collides with stick:

Try changing the ForceMode for the AddForce to something else and increasing the weight of the player