Drivetrain locks robot

I am using a V5 mimic with python and if I use a drive_for method on a drivetrain. The robot seems to go into hold position mode when it reaches the target. I use another drive_for method the robot will go to the next target. the same is true for turn_for, start_drive_for and start_turn_for. However, if I try to then move the robot using a simple drive method ie drive the robot will not move.
see this code here.


while True:


Using this code the only thing that has an effect on the robot is the dt.drive_for although the program doesn’t crash and the joystick does adjust the power yet the robot does not move.
If I comment out the dt.drive_for the code works as you would expect.

Is there something that I need to do to reset the drivetrain after this, to bring it back to normal operation?

PS don’t worry about the indentation it seems to get lost in the posting

Hi Stephen.

Please set the privacy level of your project to Public, Including Code and then post a link to it in this thread.

Cheers, Sam

Thanks Sam,
I have not tried this on a real robot as I am working from home (lockdown), I suspect it to be a Mimic thing.


Hi Sam any update on this one?

Hi Stephen. Sorry for the delay in replying.

After some investigation, it looks like if you use any command that runs the motor to a position, or spins it for a distance, will break joystick control for the rest of the program run.

I have created bug for this issue on our internal bug tracker. I do not have an eta for when it might be fixed. In the mean time, students will have to create separate projects for driving the robot by hand, and projects with regular motor commands.

Cheers, Sam

Thanks for your response Sam,
It seems to be more of a problem now as I have now found that using Brake.Type has no effect. eg Arm.set_stopping(BrakeType.HOLD) or Arm.stop(BrakeType.HOLD) does not work.

So when you try to get an arm to hold position by sampling the current value Arm.rotation() and then chasing that value with a spin to, it kills the arm.
So I cannot get the arm to stop dropping.
Well I can as the workaround is to not move the arm via the joystick, just use the joystick to change the rotation value that you are chasing but I did not want to have to get into that kind of complexity with my students.