I’m using this code rn but it’s causing it to spin one for the time then the next, would I have to set all the motors into a auton specific motor group? Here’s the code I’m currently using that doesn’t work.
RightDrive.setVelocity(100, percent);
LeftDrive.setVelocity(100, percent);
RightDrive.rotateFor(reverse, 42, rotationUnits::rev) && LeftDrive.rotateFor(reverse, 42, rotationUnits::rev);
does one motor spin then another?
RightDrive.setVelocity(100, percent);
LeftDrive.setVelocity(100, percent);
RightDrive.rotateFor(reverse, 42, rotationUnits::rev) && LeftDrive.rotateFor(reverse, 42, rotationUnits::rev, false);
leftDrive.rotateFor(reverse, 42, rotationUnits::rev) && LeftDrive.rotateFor(reverse, 42, rotationUnits::rev, false);
yes, one spins then the next.
I believe there may be a typo here, you have an open parenthesis, that won’t work in v5 code pro.
A motor can be part of multiple motor groups
motor frontLeft(PORT1);
motor backLeft(PORT2);
motor_group leftDrive(frontLeft, backLeft);
motor frontRight(PORT3);
motor backRight(PORT4);
motor_group rightDrive(frontRight, backRight);
motor_group driveMotors(frontLeft, backLeft, frontRight, backRight);
driveMotors.setVelocity(100, percent);
driveMotors.spinFor(reverse, 42, rotationUnits::rev);
the issue is turning, we need to be able to control the two sides of the drive to be able to turn without moving the bot’s center
The robot.spinFor
function (and other motor functions) has a 5th optional parameter called waitForCompletion. If you set this to false then your code won’t wait for the motor to stop moving. This allows you to do something like this:
Right.spinFor(-180, degrees, 90, percent, false);
Left.spinFor(180, degrees, 90, percent);
This will spin them both at the same time, and continue with your code after the left motor finishes