Radial Limit in Rigid Body Physics
I did this by chaining two rigid bodies, with two RB constraints.

Create a rigid body, give it &quot;animated&quot; or &quot;passive&quot; trait.  Change its collision collection to something weird and non-default like collection 20.  We'll name this body &quot;anchor&quot;.

Create another rigid body, at the same location.  Leave this un-animated, but set its damping (translation and rotation) to 0.  Putting this in an out of the way collection-- again, possibly collection 20-- is a good idea.  We'll name this object &quot;sub-anchor.&quot;

Create an empty, at the location of these rigid bodies, and give it rigid body constraint physics.  Set anchor as RB1 and sub-anchor as RB2.  Make it &quot;point&quot; type.  This allows sub-anchor to rotate about anchor.  Because both rigid bodies are at the same location, and because this is a point-type constraint, both rigid bodies should remain at the same location, given sufficient physics steps.  (Because constraints are imperfect and iterative in nature, it's not guaranteed.)

Create our physics object at the same location.  We'll name this &quot;physics&quot;.  Again, give it dynamic, un-animated rigid body physics.  This is the object that will freely rotate within a given radial distance of anchor.  However, this is an object that we may want colliding, so put it in whichever collision groups you want-- the main thing we wanted to be careful of, was preventing this from interacting with anchor, since that lies as the center of our circle

Create another empty at the same location, give it rigid body constraint physics, set subanchor as RB1 and physics as RB2.  Set it to &quot;generic spring&quot; type.  (Although a &quot;piston&quot; type could be used instead.)  Enable linear limits at 0-0 for X and Y axes, and -n, 0 for Z axes, where n is the maximum distance we want to allow this object to travel from anchor.  Assign no angular limits or spring values.


What does this do?  It lets subanchor rotate freely about anchor, while physics exerts only linear force on subanchor.  If you watch, subanchor will rotate to point its z-axis at physics, wherever physics is.  Meanwhile, physics can move away from subanchor, but only in a single axis-- only toward or away from subanchor.
Do you want to establish a minimum distance?  Instead of using linear limits of -n,0, use linear limits of -n,-m, where n is the maximum distance from the anchor and m is the minimum distance from the anchor.  It will then push physics away from anchor.
Why do we use -n,0 rather than 0,n?  Because with 0,n limits, our rigid body is in a careful, computer-generated state of perfect equilibrium, like a pencil balanced perfectly on its tip.  Using -n,0 limits starts the pencil out of equilibrium, so that physics forces will act on it appropriately.
Note that there's no need to parent the empties to any anchors.  It doesn't matter where they are during the physics sim, only where they are at frame 1.  Parenting an empty will actually give a dependency loop warning in the console window, although this particular warning is safe to disregard-- at least in the case of empties parented to animated rigid bodies.  (I haven't done sufficient testing on empties parented to dynamic, unanimated rigid bodies.)  However, you cannot use any constraints on the empties that target physics objects, or you will get dependency warnings that are not safe to disregard and will screw up your physics.
What mass should you use for subanchor?  Rigid body physics are not real physics, and all of the mass of objects is concentrated on their origins.  That means that using very high mass values are fine, since this object isn't going to collide with anything.  However, if you use very low mass values, you will find that the point constraint will start breaking in deference to the mass of the physics object.  Default values were fine in my testing, but you may want to increase them if the point constraint starts failing.  As you increase the mass of physics, you may need to increase the mass of subanchor as well.
Here's a file.  I've created a 65 frame animation on &quot;anchor&quot; for you to see it in action.  I've also created a sphere (in wireframe) to give you a visual indication of the limits I've imposed, so that you can quickly see if they ever fail.

Feel free to delete the keyframes and play with animating anchor yourself.  Just be aware that if you let it loop over while you're moving anchor, you change the relationships of the rigid bodies, which are calculated at frame 1, and so that loop's physics will become invalid.