Chain drivebase movements together without stopping #1315
Replies: 4 comments 4 replies
-
This is what https://docs.pybricks.com/en/latest/parameters/stop.html#pybricks.parameters.Stop.NONE |
Beta Was this translation helpful? Give feedback.
-
I got to do some testing with Stop.NONE, and it makes our robot runs a lot faster. Very cool! Buuuuuuttttt, there's a problem. Sometimes, and I can't figure out when it happens, the turns go crazy. We are using a gyroDriveBase with the gyro on (we haven't upgraded to the new version just yet). What we did was chain a Straight, Curve, and Straight together, followed by a Turn. And what we saw was a couple of things, Sometimes the Curve would go wildly with a tighter radius than it should. Or following the curve sometimes the Straight would go in some completely random direction. I tried printing out the imu headings at some key places, and they frequently wouldn't make sense. Like I could print the heading at the start of the second Straight, and again at the end of that Straight, and get very different readings. I also tried drivebase.reset at a few diferent places in the code and that did not seem to help. So, short of not using the Gyro, which I have not tested, is there anything I can do about this? |
Beta Was this translation helpful? Give feedback.
-
I'm going to have to wait until next week to upgrade to 3.3. We have our state tournament this Saturday and the team would kill me if I made a change like that right now :) I do have video of the robot misbehaving, but I don't have any of it running correctly, which you will need for comparison. I'll see if I can get some good video this afternoon. For now, I think we will still Stop.BRAKE after every move, and save the fancy Stop.NONE for the next tournament. |
Beta Was this translation helpful? Give feedback.
-
@FLL-Team-24277 would be happy to collab and share experience with you. |
Beta Was this translation helpful? Give feedback.
-
Is it possible to chain movements together so that we don't have to decelerate and accelerate between movements? For example, could I run a drivebase.straight() followed by a drivebase.curve(), where if the speeds were the same for both movements, the robot would not have to stop between them. I am using a spike prime if that matters.
Beta Was this translation helpful? Give feedback.
All reactions