acmerobotics / road-runner-ftc

BSD 3-Clause Clear License
0 stars 11 forks source link

splineToLinearHeading causes some hang and the robot stays in motion. #3

Open hyusap opened 7 months ago

hyusap commented 7 months ago

running this code and other similar splines causes something to hang and the robot locks in strafe and drives into a wall.

drive.actionBuilder(beginPose)
        .splineToLinearHeading(new Pose2d(30, 30, 0), 0)

expected:

image

actual:

https://github.com/acmerobotics/road-runner-ftc/assets/61765149/f16f3a06-f01c-423b-af38-d665441bc5ed

full code:

package org.firstinspires.ftc.teamcode.tuning;

import com.acmerobotics.roadrunner.Pose2d;
import com.acmerobotics.roadrunner.Vector2d;
import com.acmerobotics.roadrunner.ftc.Actions;
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;

import org.firstinspires.ftc.teamcode.MecanumDrive;
import org.firstinspires.ftc.teamcode.TankDrive;

public final class SplineTest extends LinearOpMode {
    @Override
    public void runOpMode() throws InterruptedException {
        Pose2d beginPose = new Pose2d(0, 0, 0);
        if (TuningOpModes.DRIVE_CLASS.equals(MecanumDrive.class)) {
            MecanumDrive drive = new MecanumDrive(hardwareMap, beginPose);

            waitForStart();

            Actions.runBlocking(
                drive.actionBuilder(beginPose)
                        .splineToLinearHeading(new Pose2d(30, 30, 0), 0)
                        .build());
        } else if (TuningOpModes.DRIVE_CLASS.equals(TankDrive.class)) {
            TankDrive drive = new TankDrive(hardwareMap, beginPose);

            waitForStart();

            Actions.runBlocking(
                    drive.actionBuilder(beginPose)
                            .splineTo(new Vector2d(30, 30), Math.PI / 2)
                            .splineTo(new Vector2d(0, 60), Math.PI)
                            .build());
        } else {
            throw new RuntimeException();
        }
    }
}
rbrott commented 7 months ago

Would you mind attaching a robot log? See https://rr.brott.dev/docs/v1-0/tuning/#getting-help