After more research and experimentation I figured out how to do it.
I used the expression
wiggle(thisComp.layer(“Null 2”).effect(“speed”)(“Slider”)/10,thisComp.layer(“Null 2”).effect(“Position”)(“Slider”))
to set up the original random motion of the objects. I used two sliders referenced to the layers to get different speeds and origins.
I then duplicated the comp. The first comp I called motion, and the duplicate I called static.
In the static comp I converted all of the expressions to keyframes (Animation/Keyframe assistant) and then deleted all the key frames and the expression. I was left with a static comp with all of my shapes in the start position of the motion comp.
I then keyframed the scale of the objects in the static comp from 0 to 100 adding an inertial bounce and staggered the layers so they came up one at time. I also added a new wiggle expression to the static objects to they would shiver at the very end of the comp.
I put the static comp at the beginning of my sequence and the motion comp just after it so now the shapes pop in, bounce a bit then shiver and start to move around randomly. At the end of the motion comp I used the slider to pull all of the shapes back to a single position.
Here’s the sequence
practice random position static to motion
Now I will use the connect layers script to bind them (I originally thought about using Newton2 but that won’t do it)
Cheers