Welcome to RobotBox!

RobotBox is a community for robot builders to show off their projects. Add yours today.

Features of RobotBox

  • Showcase projects
  • Make new friends
  • Rate other's robots

Note: Facebook Connect temporarily disabled. Go here to login without it.

Wheel calibration

jbot's picture
Related project: 

I noticed that my bot, when traveling in an undulating path, arcs very slightly to one side. I think this is because the wheel/motor resistance is greater in one direction than the other, at least for one of the wheels if not both. Since I'm not ready to implement PID control for motor speed yet (no odometry on board), I thought I'd try to minimize the problem by identifying the speed mismatch and adjusting in software by applying a constant modifier to each wheel's speed depending on the direction it was spinning.

 

To this end I replaced the wheels with CD's that had been drilled with a pattern of 16 holes around the circumference, and positioned off-board opto-interruptors under them to detect speed. The setup worked fine, but the over-all experiment was a huge disaster. The speed differences change wildly depending on motor speed and battery state of charge, so the measurements were all over the place. Oh well... He travels in a straight line just fine. It's only when making direction-reversing undulations that his over-all path curves slightly. It's neither important nor severe... It just annoys me.

Comments

gallamine's picture

jbot, That's an interesting

jbot, That's an interesting problem. Since you have beautiful clear wheels, it'll probably be difficult to put encoders on them. I assume the Maxon motors don't have a secondary shaft output for encoders? I've heard of some people using optical mice guts to track movement - but that will probably require quite a bit of overhead for extracting the data.

It occurs to me that if you wanted to do a lot of work (and who doesn't, right? :) you could build up a big parametric table that determines the wheels speed offset for a whole range of wheel speeds and battery voltages. Or, you could regulate the voltage to the motors and remove that variable.

PS. If/when you do a full PID control loop, let us know. I'm sure others will be curious to see how you do it!