How to use encoders?

I’ve been thinking of making a tracking wheel, or at least trying to.
Is there anything I should know about them? What should I buy? (They look kinda like they have multiple cables)


Tracking wheels should be light, and not impede any of the motion caused by the robot. Most of the time teams use single roller Omni wheels for that application.


Shaft encoders use two ports, which are the two wires you see, but all you’ll need is a shaft encoder, and a wheel (typically Omni @CarCar) id also try to build a sort of suspension system instead of statically attaching the wheel, so that it never comes off of the ground

a tracking wheel usually uses a small omni wheel, usually the old discontinued one roller ones, but the 2" ones work as well, they just take more room. the wheel goes through a quadratic encoder, and the whole thing usually is mounted on a small bar that rubber bands keep pressed into the tiles to avoid wheel slippage. you need 3 tracking wheels to do full on odometry, but 1 or 2 can still be useful for autonomous.


Which kinds of omnis are recommended for this? I’m probably not sacrificing an omni, so is there any other options?
Would a 4 inch be too big?

any type of omni wheel would work, but of course you want to use the smallest ones possible.

1 Like

It depends on how you built your chassis if there is enough space on the chassis, go ahead. However, don’t use a wheel that is powered by a motor because it won’t account for extra slip. People tend to use smaller Omni wheels because they are rarely influenced by movement in other dimensions and they are small enough to easily integrate into a finished chassis.

1 Like

Do most teams use tracking wheels?

No, this is mainly for advanced programming. The integrated encoders work well for most motion algorithms. Tracking wheels are mainly for odometry but it is pretty overkill for most applications.


I think @CarCar meant to ask: do most teams use tracking wheels?
I read it the wrong way the first time too.

1 Like

yes sorry for not editing my post. I meant do most teams use tracking wheels.

I think the answer @mvas gave stands either way.

Wait so most teams dont?

I’m not entirely sure, but I don’t see them very often at competitions I go to. That could be unique to Illinois though, and even if it isn’t, it’s not justification to not at least try odometry.

Yeah I’ll try it anyway, it’s a good math and coding exercise.
But I haven’t learned calculus yet :<

In my team’s experience odometry is more trigonometry than calculus. PID is calculus though, but you can learn that from tutorials without taking calc.

1 Like

How bad could the error get if I chose to connect the encoder with one of the driven wheels rather than a seperate tracking wheel?

Well the encoder wouldn’t read an error at all.

Pretty bad because of slippage and friction. Also, at the point you’re better off using the integrated motor encoders as they would serve the same purpose. If this was v4 then it would be a different story.

1 Like

Well, as I understand it you want to attach an encoder to the wheel that is powered by a motor. This will basically just track what the motor does. As a tracking wheel, this would cause a lot of error, since if the motor is not powered, the wheel will not always spin when the robot is moving, because a motor introduces a decent amount of resistance (which could cause the wheel to skid depending on your robot’s weight). If the motor is spinning, but the wheel is off the ground, the wheel will still spin, even though the robot may not be moving, defeating the purpose of the tracking wheel.

That being said, if you are still using the older cortex platform, the motor does not have a built in encoder, so it is still useful to track the motor wheel movement. Doing this on the V5 platform is basically pointless, since the motor has a built in encoder that you can use instead.

TL;DR: Yes, it will probably introduce significant error if you are planning to use it as a tracking wheel. However, there is still a use in connecting an encoder to the driven wheel if you are running the older cortex platform (to track the driven wheel). If you are using V5, you should just use the encoder built into the motor (to track the driven wheel).