Hello from Team 11999!

Hello everyone.

We are a rookie team this year. I was wondering if we could get a hand with a question that has been a problem for a couple of weeks. Right now, our robot has a program that loads onto the driver station and seems to work (we can see the telemetry working for the remote and everything), but our robot does not move. I was wondering if anyone else has had this problem? Is it a problem with our code or is it a connectivity issue with the phone and the controller?

Thanks for helping out!

Could you post your code?

@TeleOp(name=“Atlas: Teleop POV”, group=“WRW”)

public class AtlasTeleop extends LinearOpMode {

HardwareAtlas robot           = new HardwareAtlas();   
double          clawOffset      = 0;                       
final double    CLAW_SPEED      = 0.02 ;                   

public void runOpMode() {
    double left;
    double right;
    double max;


    telemetry.addData("Say", "Hello Atlas Driver");


    while (opModeIsActive()) {

        left  = -gamepad1.left_stick_y + gamepad1.right_stick_x;
        right = -gamepad1.left_stick_y - gamepad1.right_stick_x;

        max = Math.max(Math.abs(left), Math.abs(right));
        if (max > 1.0)
            left /= max;
            right /= max;


        if (gamepad1.right_bumper)
            clawOffset += CLAW_SPEED;
        else if (gamepad1.left_bumper)
            clawOffset -= CLAW_SPEED;

        clawOffset = Range.clip(clawOffset, -0.5, 0.5);
        robot.leftClaw.setPosition(robot.MID_SERVO + clawOffset);
        robot.rightClaw.setPosition(robot.MID_SERVO - clawOffset);

        if (gamepad1.y)
        else if (gamepad1.a)

        telemetry.addData("claw",  "Offset = %.2f", clawOffset);
        telemetry.addData("left",  "%.2f", left);
        telemetry.addData("right", "%.2f", right);



Since you are using LinearOpMode, you need a create and call an waitForTick method in your loop.

* waitForTick implements a periodic delay. However, this acts like a metronome with a regular
* periodic tick. This is used to compensate for varying processing times for each cycle.
* The function looks at the elapsed cycle time, and sleeps for the remaining time interval.
* @param periodMs Length of wait cycle in mSec.
public void waitForTick(long periodMs) {

    long  remaining = periodMs - (long)period.milliseconds();

    // sleep for the remaining portion of the regular cycle period.
    if (remaining > 0) {
        try {
        } catch (InterruptedException e) {

    // Reset the cycle clock for the next pass.

Awesome! Thank you.

I got so confused for a second because I was in FRC thinking mode and was like, 11999??? WAY too many numbers there! And then I stopped to think, and yah. I haven’t slept very much lately.:yikes:

Yeah we are FTC, and this is my first year in the robotics world. So far it has been exciting and fun.