C# if rigidbody has stopped after 5 seconds.

Im having trouble detecting if my constantly moving rigidbody has stopped due to being obstructed or something.

My approach of detecting if the rigidbody has stopped works pretty much like this:

if(rigidbody.velocity.sqrMagnitude < .01){

or

if(rigidbody.IsSleeping())

But i still need a way to delay the detection for a while, Because the rigidbody spawns stationary.
And also, im using fixed update for this.

You can use a coroutine with a yield return new WaitForSeconds(5); statement, or Invoke to set a flag (if you check for the stopped in the Update function).