Hoverboard motors , delayed response and motors are not able to run at slow speed


I am using hoverborad motors for a differential drive for an AGV.
Firstly I had a motor with 4096 incremental encoder, since my application is an AGV, calibrating after reboot is not an option. So I changed it to a hall sensor.
Now after all the calibration, i wrote a C++ code that reads and writes from odrive through serial port at a 30 hz. Calibration was done on air, now after putting on the floor the response of the motor is very slow. At lower speed (.05 turs/sec) the motor is not able to move. Motor can’t overcome the inertia of the system after some times the motor starts to vibrate and moves (sometimes one wheel moves other one is static). I increased all the currents to max(above the motor rating). Changing the pi values is not helping. How can I solve this? (I am running is closed loop velocity mode).
I can push the motor in closed loop control, there is some resistance but not that much so i can push the robot around and once released it mimics the motions and comes back to original position And the motor is not stopping when we give 0 turns/sec , it moves a little bit and come back.

How can I improve the system?

Make sure your vel_limit is high enough, and make sure both your torque_limit and current_limit are high enough.

I already given motor specs to vel_limit(3.3 as per motor rmp rating) and current_limit (10 as per motor rating). I haven’t given the torque_limit as of now (it is inf). Is it ohkk to give more than the specs

vel_limit = 3.3? That’s 3.3 revolutions / sec, which corresponds to… 200rpm. Does that sound about right?

yea 200 rmp, i am able to control the agv at very high vel_gain(100) and vel_intergal_gain(500).