Check all the arms for play in the flying position.
Set the drone on the ground etc. and using the CSC position start the props, watch the arm outer ends for any noticable lift as the props speed up to idle. Then slowly throttle up to lift off and make the same observation.
I recently crashed my Zoom and rear arm broke a lug of its pivot's inner end, nothing was vsible externally. The lug acts, I think, as a rotation stop for the arm. The drone flew fine but would occasionally judder as you describe and on making the above observations the outer end of the damaged arm could be seen to lift as the motor started to produce thrust.
Check the position of the arm ends relative to one another, ditto the props.
The front arms are carried on a spring loaded pivot, one end of the pivot is screwed and pegged to the drone body the other end uses a spigot which fits into a hole in an appropriate part of the drone shell. In my crash I had bent the spigot and this caused the affected arm to hang low.
You can remove the front pivots without splitting the shell but, if you do, position the arm such that the pivot is 'stuck' mid way between the flying position and the storage position, it makes removing and refitting the pivot easier.
BE AWARE there is a thrust washer (black plastic) between the top of the arm and the body shell, it is likely to be dropped as you remove the arm. It was a spare part I had left over at the first reassembly!

Check the motor mount screws and the screws of the quick release plates for tightness.
Check that each prop has its three mounting lugs attached.
I would also switched the obstacle avoidance off, for a test flight, and see if that makes any difference.