I need to get a rigid body object to slowly return to a set position and rotation in the world after a collision.

I need help getting a rigid body object to return to a specific location and rotation. Using C#. Something like you might see in Half Life with the gravity gun. An object ends up at the end of the gun in a set orientation. I just need my object to return to the position and rotation it started from after a collision with another object sends it away from the start. It would be sweet if it was with a smooth return like the gravity gun. I have learned a bit about quaternions, lerps and slerps but i could not get this object to return to the start. There must be another way. I would much appreciate anyone’s help with this problem.

First off, I must warn that your question does hint at a complex, deep dive for a new student to Unity. Posts here would turn into books to give you a study on the subject. It is a prerequisite to understand how to use Quaternions, Vector3’s, the basics of their origins in linear algebra, to handle the math. The next point to understand is how to move objects in code without physics over time, and in particular how to use Time.deltaTime to move an object at a particular rate of speed regardless of the frame rate or fixed time steps. If you’re using physics, you must consider disabling physics if you move an object under control of the physics engine while you manipulate it “manually” in code. If you move an object’s transform (it’s position or rotation) while under control of the physics engine, it confuses the physics engine and the results are odd. Generally, if physics controls the object, you use physics solutions and only physics solutions on that object. Obviously, though, that has a limit. You will end up wanting to do something to such an object which takes manual control. For that, you need a full study on the subject of writing games in Unity from a book, or web examples…you’re asking to be coached over a few days (8 hours each day) or weeks (an hour or two a day interrupted with weekends and life in general).
That said, one thing you MIGHT consider is a highly damped spring. The behavior you described is something similar to the way a spring operates on two objects connected by the spring (and one of those objects can be an invisible GameObject - a dummy with no artwork). Springs start out very “springy” and bouncy, but damping can turn that into something loosely related to what you describe without using quaternions and vectors.