I recently got ahold of a cheap differential drive rover platform with two generic BLDC motor controllers (unknown model, but they’re like this one: https://www.aliexpress.us/item/3256802339288013.html) and unknown motor coefficients. The motor has hall sensors. The rover as is has a drive train that can deliver high torque and is capable of driving over beefy obstacles with ease.
I tried to switch to ODrives for improved control, but immediately ran into torque issues. Despite the ODrive showing the current output hitting the same upper 45A limit as the generic controllers the motors would stall even on small obstacles and would somewhat lockup if I tried to reverse directions (though this could just be integral windup).
Any ideas why I would see current maxing out, but the effective torque being severely lacking? Thanks in advance.
Which ODrive are you using? Did you run through all of hall polarity / hall phase calibration? If you can do odrivetool dump-config config.json and upload the resulting config.json here, that would be really helpful.