Quote:
Originally Posted by jbbjjbt
Our team has two issues with Labview/Motor controllers/encoders. They are:
1)Reset encoders only works roughly 80% of the time, even when called twice. So frequently in autonomous the robot turns when it should have gone straight or vice-versa.
2)The motor controllers/encoders lock up (probably need a better term) and the robot just sits and jiggles back and forth. The only way we've found to get out of this is to cycle the power to the motor controllers. This just about ruined us in competition because if you lock up in autonomous, you're dead in teleoperations.
Does anyone else have these problems, especially number 2? Does anyone know if the problems exist if you use RobotC?
|
We have both of these problems, and are trying to develop strategies to mitigate them.
Once such strategy is NOT to reset the encoders. If you never reset them, that problem goes away.
Something that is becoming clear to me is that for some reason the communications with the motot controller is VERY sensitive to battery voltage. Although these are nominally 12V batteries, when charged they get all the way up over 14V.
I've found that if the battery voltage gets close to 13V we seem to start getting more of the problems you are describing. Seems like that shouldn't be the case but it's what I've found. That's one reason I created the Battery monitoring VI. I need to know when that occurs.
We have two batteries and so we always have one on charge when using the other. After about an hour of testing you HAVE to change the battery otherwise you start getting those dropouts and "shimmies".
Another thing we found is that we get MUCH better reliability in AUTO, if we actually power down the NXT and 12V before each run. This emulates what happens on the field so maybe they discovered the same thing. If we just run the auto program three or four times in a row, successive runs seem to mess up, even if we reset 12V power and restart the NXT program. It's as if the NXT and motor controller get left in a bad state if you just stop the program and restart it. I can't explain it.
Bottom line, the NXT/Motor-controller communications are NOT solid enough (for a real competition), and the trick is finding the way to mitigate the problem.
From what little I've seen, it seems that Robot C has simmilar problems.