Pololu Romi: Turning on only one wheel or both wheels?

There’s two ways I can do turning on my Pololu Romi:

  1. Turn using both wheels going in opposite directions, with axis of rotation being in the robot’s center (theoretically).
  2. Turn on only one wheel, keeping the other wheel stationary. The stationary wheel is the axis of rotation.

Which one results in more accurate turns? any fundemental robotics concepts I’m missing here?

Hello.

Both options are valid and have benefits and drawbacks, so ultimately it probably comes down to your application. You should generally be able to make accurate turns with either method, especially if you use encoders and/or IMU data for feedback.

When turning in place, the pivot point is in the center of the robot, which can be useful for a lot of applications. When your robot turns with only one wheel, there is probably more risk of inaccuracies from the stationary wheel sliding if there isn’t enough traction with the surface. However, turning with only one wheel is probably a smoother operation overall.

Brandon

How do we use data from encoders when turning to make turns more accurate?

You can use the encoder feedback to do closed-loop speed or position control. Typically, this is done with a PID control algorithm, and for accurate turns, position control is more probably more useful.

We do not have any specific examples for doing closed-loop position control with the Romi, but this YouTube tutorial by Curio Res is a good starting point for learning how to do that. Please note that if you use our Romi32U4 library you can use the built-in functions for reading the encoder and driving the motors, so you do not need to create separate ones like shown in the tutorial.

Brandon