From 1a1ef3b2dc699a16ccbf4bc42535db1bff3e68b9 Mon Sep 17 00:00:00 2001 From: Carlos Date: Sat, 22 Jun 2024 11:10:36 -0700 Subject: [PATCH] Add first pass of Roadrunner class files --- .../firstinspires/ftc/teamcode/Drawing.java | 22 + .../firstinspires/ftc/teamcode/Localizer.java | 8 + .../ftc/teamcode/MecanumDrive.java | 489 ++++++++++++++++++ .../messages/DriveCommandMessage.java | 24 + .../messages/MecanumCommandMessage.java | 19 + .../MecanumLocalizerInputsMessage.java | 30 ++ .../ftc/teamcode/messages/PoseMessage.java | 17 + 7 files changed, 609 insertions(+) create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/Drawing.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/Localizer.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/MecanumDrive.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/messages/DriveCommandMessage.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/messages/MecanumCommandMessage.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/messages/MecanumLocalizerInputsMessage.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/messages/PoseMessage.java diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/Drawing.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/Drawing.java new file mode 100644 index 000000000..0d66f964f --- /dev/null +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/Drawing.java @@ -0,0 +1,22 @@ +package org.firstinspires.ftc.teamcode; + +import com.acmerobotics.dashboard.canvas.Canvas; +import com.acmerobotics.roadrunner.Pose2d; +import com.acmerobotics.roadrunner.Vector2d; + +public final class Drawing { + private Drawing() {} + + + public static void drawRobot(Canvas c, Pose2d t) { + final double ROBOT_RADIUS = 9; + + c.setStrokeWidth(1); + c.strokeCircle(t.position.x, t.position.y, ROBOT_RADIUS); + + Vector2d halfv = t.heading.vec().times(0.5 * ROBOT_RADIUS); + Vector2d p1 = t.position.plus(halfv); + Vector2d p2 = p1.plus(halfv); + c.strokeLine(p1.x, p1.y, p2.x, p2.y); + } +} \ No newline at end of file diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/Localizer.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/Localizer.java new file mode 100644 index 000000000..34482c36c --- /dev/null +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/Localizer.java @@ -0,0 +1,8 @@ +package org.firstinspires.ftc.teamcode; + +import com.acmerobotics.roadrunner.Time; +import com.acmerobotics.roadrunner.Twist2dDual; + +public interface Localizer { + Twist2dDual