the procedural grid has no collision how to fix it?

Your mesh might be too thin to register the collision.

You could try enabling “Trace complex on move” for the procedural mesh (though it’s set function). It will do a per triangle collision test.