My question is about a square shaped differential wheeled robot, I built, that has a hub-motor (BLDC motor) attached to each corner, i.e., the wheels on the same side, either left or right, have the same velocity and direction (skid-steer). Currently, I’m able to move it back and forth but I’m not able to steer it by using different wheel speeds, i.e., left side spinning faster than the right side and vice versa, or let alone to turn it in place, i.e., left side spinning at the same speed as the right side but with opposite direction. In the case of using different wheel speeds, it keeps going forward. When trying to make it turn in place, it just doesn’t move at all. I’ve tested the wheels spinning off the ground, and they did spin according to the differential drive system. The tests were performed on asphalt. The wheels are hub-motors for e-bikes (bike tires).

What could be the problem? Not enough power (torque) in the hub-motors? the geometry of the robot? What calculations I can do to calculate the power necessary of each motor to steer it with different wheel speeds or turn it in place?


  • 1
    $\begingroup$ Try to run left side motors and dont move right side and then do it vice versa. And did they move in this case.? $\endgroup$ Commented Oct 27, 2019 at 9:18
  • $\begingroup$ Let me try and I let you know. $\endgroup$
    – andrestoga
    Commented Oct 29, 2019 at 4:32
  • $\begingroup$ Welcome to Robotics andrestoga. What is your logging telling you about motor speeds, demands & currents? Are the demands as you expect? What about the actual speeds? Are you seeing motors stalling and drawing their full stall current? If you ask it to turn left, powering just the right wheels, are you holding the left wheels stationary, or letting them free run? $\endgroup$
    – Mark Booth
    Commented Oct 30, 2019 at 14:48
  • $\begingroup$ The question can be interpreted as a simulation in the loop problem. In a 3d simulator, the kinematics are reproduced by motors and physical forces. Standard software for doing so are SolidWorks and Simulink. In the documentation, it's explained how to increase the torgue and which kind of geometry makes sense for a differential drive. $\endgroup$ Commented Oct 30, 2019 at 20:18
  • $\begingroup$ @AbdulRehman it didn't move either $\endgroup$
    – andrestoga
    Commented Nov 5, 2019 at 4:35

1 Answer 1


The most likely cause is that your motor torque is too small. Another way to look at this is that the friction between wheel and ground is too large.

You can reduce this friction by using smoother tires, or by covering the tire treads with something like duct tape. Be aware this may have side effects e.g. your wheel-encoder odometry can become less accurate.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.