Does it have the same problem with the motor off-ground and on-ground? If so, then:
If the hall sensors are functioning correctly, then it's probably the wrong phase/hall wiring combination.
If your controller has a self-learn function, use that to correct this. The company that sold the controller should have the manual that tells you how to do this, if they didn't provide one with it; it's often done by connecting a pair of wires temporarily, but the specific procedure varies from controller to controller.
If it doesn't have SL, then you'll have to manually determine the phase / hall wiring combo; there are a lot of threads and posts with various ways of doing this.
Some possible results, there are many more
endless-sphere.com
endless-sphere.com
endless-sphere.com
endless-sphere.com
If you find no working combinations (there should be three forward, and three reverse) then something is probably wrong with the controller (wiring / connection faults between it and the motor, blown FETs, damaged gate drivers, etc), if you've already verified the motor itself works correctly and has no problems of any kind.
If it does not have a problem off-ground, then there's a small chance the battery is sagging in voltage for some reason (bad cells, interconnects, etc) so much that the controller is cutting out, then the sag stops, controller works, loads the battery down, it sags, controller cuts out, sag stops, etc., repeating rapidly causing a stutter or grinding. But the first stuff above is much more likely.