Add force to slow down object

Hi, I’m trying to find a way to slow add a force to slow down (for a brief instance) my object upon collision. Think of a racing game, where if you hit a rock you decelerate a little bit for a moment.

This is my what I currently have related to the movement.

	void FixedUpdate () {
		GetComponent<Rigidbody>().AddForce (Vector3.forward * constantVelocity, ForceMode.Impulse);
	}
	void OnTriggerEnter(Collider other)
	{
		if(other.tag == "SpeedBoost")
		{ 
			GetComponent<Rigidbody>().AddForce (Vector3.forward * 100.0f, ForceMode.Impulse);
			print("Hit Speed!");
		}
		if (other.tag == "UpBoost")
		{
			GetComponent<Rigidbody>().AddForce(Vector3.up * 100.0f, ForceMode.VelocityChange);
			print("Hit Up!");
		}
            if (other.tag == "Obstacle")
            {
                 //add negative force to decelerate/
                 GetComponent<Rigidbody>().AddForce (Vector3.forward * -100.0f, ForceMode.Impulse); //not working.
            }

	}
}

Thanks.

I know this is really old but I ran into this as well. This is how I handled it;

    public void SlowDown()
    {
        Vector2 pushBack = targetRigidBody2D.velocity * -1;
        targetRigidBody2D.AddForce(pushBack * .01f, ForceMode2D.Impulse);
    }

line 18 try doing Vector3.-fordward