- Motor Balancing: When all of the motors spin at a slightly different speed for any one given signal, your bot quickly becomes rather uncontrollable. So, we're using the encoders built into the transmission to try to correct that. Once the motors react predictably, the bot should be more controllable, or at least there should be fewer variables to work with.
- Sideways-to-Forward Speed Balancing: The bot moving forward better than it does sideways seems like an issue to me. If the motor balancing doesn't take care of this, I'll see where exactly the problem lies, and how to fix it. Once fixed, the bot should respond more consistently.
- Drift Removal: If neither of the previous two take care of this, then I need to trace through the code and find where the drift comes from. Removing the drift will make the bot more controllable and therefore maneuverable.
- Clean up the code: The code right now is quite hackish, and needs a lot of cleaning up and converting before I'm satisfied with it. I expect to release it as a library when I'm done, so that the team doesn't have to re-write it each year.
- Increase Maximum Speed: I personally doubt I need to do this before I leave for college, but it would be good to know how speeds map on the mecanum wheels with what RPMs. The fact that you have rollers taking your energy does decrease your speed, but how much? What gear ratio do you need to make up for that loss?
- Pushing Power: Do the rollers change the pushing power of the robot? If so, by how much? Mecanum bots obviously aren't going to win matches, but just how much can they push?
- Add PID Loops: If I convert the code to work with speeds, rather than PWM values, I'll need to add PID loops to make sure the motors are actually being driven at that speed. The changes shouldn't appear on the surface, but would likely make autonomous easier, because the drive code is now working with sane units.
- Self-calibration Mode: This would be a special run that records how fast each motor can go at various speeds, and in all gears, and uses that information to set constants for the drive code, and write those constants to EEPROM. This mode would have to be run at least once, and another time if the motors, transmissions, or controller is changed significantly. Specifically, you wouldn't need to run this mode again if you swapped a motor with a spare, but if the motors had different bias, you would. The advantage here is more reliable calibration, probably faster calibration, and certainly easier calibration of some very complex things.
Tuesday, February 19, 2008
What Still Needs To Be Done
These range from the necessary to the wishful thinking. All are tasks that could be done with some reason for doing so, but aren't yet.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment