Skip to content

Commit 4d4db3f

Browse files
committed
Merge branch 'refs/heads/main' into ric-master
# Conflicts: # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/Robot.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/actions/ClipOptionAction.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/actions/StructureActions.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/codes/samples/AutonomousSample2024.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/codes/templates/AutonomousProgramTemplate.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/codes/tunings/KeyMapTest.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/codes/tunings/MotorReverseTest.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/codes/tunings/SimpleMecanumDriveTest.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/controls/MecanumDrive.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/controls/SimpleMecanumDrive.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/controls/actions/DriveAction.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/controls/actions/DriveActionBuilder.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/controls/actions/DriveActionPackage.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/controls/commands/DriveCommand.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/controls/commands/DrivingCommandsBuilder.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/controls/definition/DriveOrder.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/controls/definition/DriverProgram.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/localizers/definition/Localizer.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/localizers/definition/PositionLocalizerPlugin.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/localizers/odometries/ClassicOdometer.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/localizers/odometries/IntegralOrganizedOdometer.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/localizers/odometries/Odometry.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/localizers/plugins/BNODeadWheelLocalizer.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/localizers/plugins/BNOHeadingLocalizer.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/localizers/plugins/DeadWheelLocalizer.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/hardwares/Chassis.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/hardwares/Structure.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/hardwares/basic/Motors.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/hardwares/basic/Servos.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/hardwares/integration/IntegrationHardwareMap.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/hardwares/namespace/HardwareDeviceTypes.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/keymap/KeyMap.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/utils/Complex.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/utils/Functions.java # TeamCode/src/main/java/org/firstinspires/ftc/teamcode/utils/clients/DashboardClient.java # roadrunnerCores/src/main/java/org/roadrunner/core/Drawing.java # roadrunnerCores/src/main/java/org/roadrunner/core/Localizer.java # roadrunnerCores/src/main/java/org/roadrunner/core/MecanumDrive.java # roadrunnerCores/src/main/java/org/roadrunner/core/TankDrive.java # roadrunnerCores/src/main/java/org/roadrunner/core/ThreeDeadWheelLocalizer.java # roadrunnerCores/src/main/java/org/roadrunner/core/TwoDeadWheelLocalizer.java # roadrunnerCores/src/main/java/org/roadrunner/core/messages/DriveCommandMessage.java # roadrunnerCores/src/main/java/org/roadrunner/core/messages/MecanumCommandMessage.java # roadrunnerCores/src/main/java/org/roadrunner/core/messages/MecanumLocalizerInputsMessage.java # roadrunnerCores/src/main/java/org/roadrunner/core/messages/PoseMessage.java # roadrunnerCores/src/main/java/org/roadrunner/core/messages/TankCommandMessage.java # roadrunnerCores/src/main/java/org/roadrunner/core/messages/TankLocalizerInputsMessage.java # roadrunnerCores/src/main/java/org/roadrunner/core/messages/ThreeDeadWheelInputsMessage.java # roadrunnerCores/src/main/java/org/roadrunner/core/messages/TwoDeadWheelInputsMessage.java # roadrunnerCores/src/main/java/org/roadrunner/core/tuning/LocalizationTest.java # roadrunnerCores/src/main/java/org/roadrunner/core/tuning/ManualFeedbackTuner.java # roadrunnerCores/src/main/java/org/roadrunner/core/tuning/SplineTest.java # roadrunnerCores/src/main/java/org/roadrunner/core/tuning/TuningOpModes.java # settings.gradle
2 parents 10e1e5c + a2f730d commit 4d4db3f

File tree

61 files changed

+2101
-305
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+2101
-305
lines changed

TeamCode/build.gradle

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,12 @@ repositories {
3131

3232
dependencies {
3333
implementation project(':FtcRobotController')
34+
implementation project(':roadrunnerCores')
3435

35-
implementation "com.acmerobotics.roadrunner:ftc:0.1.14"
36-
implementation "com.acmerobotics.roadrunner:core:1.0.0"
37-
implementation "com.acmerobotics.roadrunner:actions:1.0.0"
38-
implementation "com.acmerobotics.dashboard:dashboard:0.4.16"
36+
implementation ('com.acmerobotics.dashboard:dashboard:0.4.16'){
37+
exclude group: 'org.firstinspires.ftc'
38+
}
39+
implementation 'com.acmerobotics.roadrunner:actions:1.0.0'
40+
implementation 'com.acmerobotics.roadrunner:ftc:0.1.14'
3941
implementation 'org.openftc:easyopencv:1.7.3'
4042
}

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/Robot.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,37 +4,37 @@
44

55
import androidx.annotation.NonNull;
66

7-
import com.acmerobotics.roadrunner.Pose2d;
87
import com.acmerobotics.roadrunner.SleepAction;
9-
import com.acmerobotics.roadrunner.Vector2d;
108
import com.acmerobotics.roadrunner.ftc.Actions;
119
import com.qualcomm.robotcore.hardware.Gamepad;
1210
import com.qualcomm.robotcore.hardware.HardwareMap;
1311

1412
import org.firstinspires.ftc.robotcore.external.Telemetry;
1513
import org.firstinspires.ftc.teamcode.drives.controls.MecanumDrive;
14+
import org.firstinspires.ftc.teamcode.drives.controls.SimpleMecanumDrive;
1615
import org.firstinspires.ftc.teamcode.drives.controls.definition.DriveOrderBuilder;
1716
import org.firstinspires.ftc.teamcode.drives.controls.definition.DriverProgram;
18-
import org.firstinspires.ftc.teamcode.drives.controls.SimpleMecanumDrive;
17+
import org.firstinspires.ftc.teamcode.hardwares.Chassis;
18+
import org.firstinspires.ftc.teamcode.hardwares.Structure;
19+
import org.firstinspires.ftc.teamcode.hardwares.Webcam;
20+
import org.firstinspires.ftc.teamcode.hardwares.basic.ClipPosition;
1921
import org.firstinspires.ftc.teamcode.hardwares.basic.Motors;
2022
import org.firstinspires.ftc.teamcode.hardwares.basic.Sensors;
2123
import org.firstinspires.ftc.teamcode.hardwares.basic.Servos;
22-
import org.firstinspires.ftc.teamcode.hardwares.Chassis;
23-
import org.firstinspires.ftc.teamcode.hardwares.integration.IntegrationHardwareMap;
2424
import org.firstinspires.ftc.teamcode.hardwares.integration.IntegrationGamepad;
25-
import org.firstinspires.ftc.teamcode.hardwares.Structure;
26-
import org.firstinspires.ftc.teamcode.hardwares.Webcam;
25+
import org.firstinspires.ftc.teamcode.hardwares.integration.IntegrationHardwareMap;
2726
import org.firstinspires.ftc.teamcode.utils.ActionBox;
27+
import org.firstinspires.ftc.teamcode.utils.PID.PidProcessor;
28+
import org.firstinspires.ftc.teamcode.utils.Position2d;
29+
import org.firstinspires.ftc.teamcode.utils.Timer;
30+
import org.firstinspires.ftc.teamcode.utils.Vector2d;
2831
import org.firstinspires.ftc.teamcode.utils.annotations.ExtractedInterfaces;
2932
import org.firstinspires.ftc.teamcode.utils.annotations.UserRequirementFunctions;
3033
import org.firstinspires.ftc.teamcode.utils.clients.Client;
31-
import org.firstinspires.ftc.teamcode.hardwares.basic.ClipPosition;
32-
import org.firstinspires.ftc.teamcode.utils.enums.RunningMode;
3334
import org.firstinspires.ftc.teamcode.utils.enums.RobotState;
35+
import org.firstinspires.ftc.teamcode.utils.enums.RunningMode;
3436
import org.firstinspires.ftc.teamcode.utils.exceptions.DeviceDisabledException;
3537
import org.firstinspires.ftc.teamcode.utils.exceptions.UnKnownErrorsException;
36-
import org.firstinspires.ftc.teamcode.utils.PID.PidProcessor;
37-
import org.firstinspires.ftc.teamcode.utils.Timer;
3838

3939
public class Robot {
4040
public IntegrationHardwareMap lazyIntegratedDevices;
@@ -136,7 +136,7 @@ public void setKeyMapController(KeyMapController controller){
136136
* 自动初始化SimpleMecanumDrive
137137
* @return 返回定义好的SimpleMecanumDrive
138138
*/
139-
public DriverProgram InitMecanumDrive(Pose2d RobotPosition){
139+
public DriverProgram InitMecanumDrive(Position2d RobotPosition){
140140
drive=new SimpleMecanumDrive(RobotPosition);
141141
if(runningState != RunningMode.Autonomous) {
142142
Log.w("Robot.java","Initialized Driving Program in Manual Driving RobotState.");
@@ -223,7 +223,7 @@ public void strafeTo(Vector2d pose){
223223
/**
224224
* 会自动update()
225225
*/
226-
public Pose2d pose(){
226+
public Position2d pose(){
227227
drive.update();
228228
return drive.getCurrentPose();
229229
}

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/actions/ClipOptionAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
import com.acmerobotics.dashboard.telemetry.TelemetryPacket;
66
import com.acmerobotics.roadrunner.Action;
77

8+
import org.firstinspires.ftc.teamcode.hardwares.Structure;
89
import org.firstinspires.ftc.teamcode.hardwares.basic.ClipPosition;
910
import org.firstinspires.ftc.teamcode.hardwares.basic.Servos;
10-
import org.firstinspires.ftc.teamcode.hardwares.Structure;
1111
import org.firstinspires.ftc.teamcode.Params;
1212
import org.firstinspires.ftc.teamcode.utils.annotations.UserRequirementFunctions;
1313

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/actions/StructureActions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
import com.acmerobotics.roadrunner.Action;
77
import com.acmerobotics.roadrunner.ParallelAction;
88

9-
import org.firstinspires.ftc.teamcode.hardwares.integration.IntegrationServo;
109
import org.firstinspires.ftc.teamcode.hardwares.Structure;
10+
import org.firstinspires.ftc.teamcode.hardwares.integration.IntegrationServo;
1111
import org.firstinspires.ftc.teamcode.utils.annotations.UserRequirementFunctions;
1212

1313
public class StructureActions {

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/codes/samples/AutonomousSample2024.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
package org.firstinspires.ftc.teamcode.codes.samples;
22

3-
import com.acmerobotics.roadrunner.Pose2d;
4-
import com.acmerobotics.roadrunner.Vector2d;
53
import com.qualcomm.robotcore.eventloop.opmode.Autonomous;
64
import com.qualcomm.robotcore.eventloop.opmode.Disabled;
75

86
import org.firstinspires.ftc.teamcode.Params;
97
import org.firstinspires.ftc.teamcode.codes.templates.AutonomousProgramTemplate;
108
import org.firstinspires.ftc.teamcode.drives.controls.commands.DriveCommandPackage;
119
import org.firstinspires.ftc.teamcode.hardwares.Webcam;
10+
import org.firstinspires.ftc.teamcode.utils.Position2d;
11+
import org.firstinspires.ftc.teamcode.utils.Vector2d;
1212
import org.firstinspires.ftc.teamcode.utils.enums.AutonomousLocation;
1313

1414
/**
1515
* A sample of 2023-2024 season basic Autonomous.
16-
*
16+
* <p>
1717
* 基於 FTC 2023-2034 賽季的代碼樣式
1818
*/
1919
@Autonomous(name = "AutonomousSample",group = Params.Configs.SampleOpModesGroup)
@@ -23,7 +23,7 @@ public class AutonomousSample2024 extends AutonomousProgramTemplate {
2323
@Override
2424
public void runOpMode() {
2525
Webcam.useWebcam=true;
26-
Init(new Pose2d(0,0,0));
26+
Init(new Position2d(0,0,0));
2727
robot.addData("Position","WAITING FOR REQUEST");
2828
AutonomousLocation location = AutonomousLocation.failed;
2929
while (opModeIsNotActive()) {
@@ -37,13 +37,13 @@ public void runOpMode() {
3737
robot.deleteData("Position");
3838
switch (location){
3939
case left:
40-
robot.strafeTo(robot.pose().position.plus(new Vector2d(0,24)));
40+
robot.strafeTo(robot.pose().plus(new Vector2d(0,24)));
4141
robot.turnAngle(90);
4242
robot.strafeTo(new Vector2d(24,0));
4343
break;
4444
case centre:
4545
DriveCommandPackage command=drive.drivingCommandsBuilder()
46-
.StrafeTo(robot.pose().position.plus(new Vector2d(0,24)))
46+
.StrafeTo(robot.pose().plus(new Vector2d(0,24)))
4747
.TurnAngle(90)
4848
.StrafeInDistance(Math.toRadians(-90),Math.sqrt(1152))
4949
.END();

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/codes/templates/AutonomousProgramTemplate.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
import com.acmerobotics.dashboard.FtcDashboard;
44
import com.acmerobotics.dashboard.telemetry.TelemetryPacket;
5-
import com.acmerobotics.roadrunner.Pose2d;
65
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
76

87
import org.firstinspires.ftc.teamcode.Global;
8+
import org.firstinspires.ftc.teamcode.Robot;
99
import org.firstinspires.ftc.teamcode.codes.samples.AutonomousSample2024;
1010
import org.firstinspires.ftc.teamcode.drives.controls.SimpleMecanumDrive;
11-
import org.firstinspires.ftc.teamcode.Robot;
11+
import org.firstinspires.ftc.teamcode.utils.Position2d;
1212
import org.firstinspires.ftc.teamcode.utils.annotations.Templates;
1313
import org.firstinspires.ftc.teamcode.utils.enums.RunningMode;
1414

@@ -21,7 +21,7 @@ public abstract class AutonomousProgramTemplate extends LinearOpMode {
2121
public Robot robot;
2222
public SimpleMecanumDrive drive;
2323

24-
public void Init(Pose2d position){
24+
public void Init(Position2d position){
2525
Global.clear();
2626

2727
robot=new Robot(hardwareMap, RunningMode.Autonomous,telemetry);

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/codes/tunings/KeyMapTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
import org.firstinspires.ftc.teamcode.Params;
66
import org.firstinspires.ftc.teamcode.codes.templates.TuningProgramTemplate;
77
import org.firstinspires.ftc.teamcode.keymap.KeyMap;
8+
import org.firstinspires.ftc.teamcode.keymap.KeyMapButtonContent;
9+
import org.firstinspires.ftc.teamcode.keymap.KeyMapContent;
10+
import org.firstinspires.ftc.teamcode.keymap.KeyMapRodContent;
811
import org.firstinspires.ftc.teamcode.hardwares.integration.gamepads.KeyButtonType;
912
import org.firstinspires.ftc.teamcode.hardwares.integration.gamepads.KeyMapSettingType;
1013
import org.firstinspires.ftc.teamcode.hardwares.integration.gamepads.KeyRodType;
1114
import org.firstinspires.ftc.teamcode.hardwares.integration.gamepads.KeyTag;
12-
import org.firstinspires.ftc.teamcode.keymap.KeyMapButtonContent;
13-
import org.firstinspires.ftc.teamcode.keymap.KeyMapContent;
14-
import org.firstinspires.ftc.teamcode.keymap.KeyMapRodContent;
1515

1616
import java.util.Map;
1717

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/codes/tunings/MotorReverseTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
import org.firstinspires.ftc.teamcode.Global;
66
import org.firstinspires.ftc.teamcode.Params;
77
import org.firstinspires.ftc.teamcode.codes.templates.TuningProgramTemplate;
8+
import org.firstinspires.ftc.teamcode.keymap.KeyMap;
89
import org.firstinspires.ftc.teamcode.hardwares.integration.IntegrationMotor;
910
import org.firstinspires.ftc.teamcode.hardwares.integration.gamepads.KeyButtonType;
1011
import org.firstinspires.ftc.teamcode.hardwares.integration.gamepads.KeyMapSettingType;
1112
import org.firstinspires.ftc.teamcode.hardwares.integration.gamepads.KeyTag;
1213
import org.firstinspires.ftc.teamcode.hardwares.namespace.HardwareDeviceTypes;
13-
import org.firstinspires.ftc.teamcode.keymap.KeyMap;
1414

1515
@TeleOp(name = "MotorReverseTest",group = Params.Configs.TuningAndTuneOpModesGroup)
1616
public class MotorReverseTest extends TuningProgramTemplate {

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/codes/tunings/SimpleMecanumDriveTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package org.firstinspires.ftc.teamcode.codes.tunings;
22

3-
import com.acmerobotics.roadrunner.Pose2d;
4-
import com.acmerobotics.roadrunner.Vector2d;
53
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
64

75
import org.firstinspires.ftc.teamcode.Params;
86
import org.firstinspires.ftc.teamcode.codes.templates.TestProgramTemplate;
97
import org.firstinspires.ftc.teamcode.drives.controls.commands.DriveCommandPackage;
108
import org.firstinspires.ftc.teamcode.drives.controls.SimpleMecanumDrive;
119
import org.firstinspires.ftc.teamcode.Robot;
10+
import org.firstinspires.ftc.teamcode.utils.Position2d;
11+
import org.firstinspires.ftc.teamcode.utils.Vector2d;
1212
import org.firstinspires.ftc.teamcode.utils.enums.RunningMode;
1313

1414
@TeleOp(name = "SimpleMecanumDrive_Test",group = Params.Configs.TuningAndTuneOpModesGroup)
@@ -20,7 +20,7 @@ public class SimpleMecanumDriveTest extends TestProgramTemplate {
2020
@Override
2121
public void opInit() {
2222
robot=new Robot(hardwareMap, RunningMode.TestOrTune,client);
23-
drive= (SimpleMecanumDrive) robot.InitMecanumDrive(new Pose2d(0,0,0));
23+
drive= (SimpleMecanumDrive) robot.InitMecanumDrive(new Position2d(0,0,0));
2424

2525
trajectory= (DriveCommandPackage) robot.DrivingOrderBuilder()
2626
.StrafeInDistance(0,24)

TeamCode/src/main/java/org/firstinspires/ftc/teamcode/drives/controls/MecanumDrive.java

Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,12 @@
33
import static org.firstinspires.ftc.teamcode.Params.aem;
44
import static org.firstinspires.ftc.teamcode.Params.pem;
55
import static org.firstinspires.ftc.teamcode.Params.timeOutProtectionMills;
6-
import static org.firstinspires.ftc.teamcode.utils.clients.DashboardClient.Blue;
76

87
import androidx.annotation.NonNull;
98

109
import com.acmerobotics.dashboard.canvas.Canvas;
1110
import com.acmerobotics.dashboard.telemetry.TelemetryPacket;
1211
import com.acmerobotics.roadrunner.Action;
13-
import com.acmerobotics.roadrunner.Pose2d;
14-
import com.acmerobotics.roadrunner.Vector2d;
1512
import com.acmerobotics.roadrunner.ftc.Actions;
1613

1714
import org.firstinspires.ftc.teamcode.Global;
@@ -29,7 +26,9 @@
2926
import org.firstinspires.ftc.teamcode.utils.Functions;
3027
import org.firstinspires.ftc.teamcode.utils.PID.PidContent;
3128
import org.firstinspires.ftc.teamcode.utils.PID.PidProcessor;
29+
import org.firstinspires.ftc.teamcode.utils.Position2d;
3230
import org.firstinspires.ftc.teamcode.utils.Timer;
31+
import org.firstinspires.ftc.teamcode.utils.Vector2d;
3332
import org.firstinspires.ftc.teamcode.utils.annotations.DrivingPrograms;
3433
import org.firstinspires.ftc.teamcode.utils.clients.Client;
3534
import org.firstinspires.ftc.teamcode.utils.clients.DashboardClient;
@@ -45,15 +44,15 @@ public class MecanumDrive implements DriverProgram {
4544
private final PidProcessor pidProcessor;
4645
private final String[] ContentTags;
4746

48-
public final LinkedList<Pose2d> poseHistory = new LinkedList<>();
49-
public Pose2d RobotPosition;
47+
public final LinkedList<Position2d> poseHistory = new LinkedList<>();
48+
public Position2d RobotPosition;
5049
public double BufPower=1f;
5150

5251
public final Localizer localizer;
5352

5453
public RobotState robotState;
5554

56-
public MecanumDrive(Pose2d RobotPosition){
55+
public MecanumDrive(Position2d RobotPosition){
5756
this.client=Global.client;
5857
this.pidProcessor=Global.robot.pidProcessor;
5958
this.robotState = Robot.robotState;
@@ -79,7 +78,7 @@ public void update() {
7978
RobotPosition = localizer.getCurrentPose();
8079

8180
client.dashboard.deletePacketByTag("RobotPosition");
82-
client.dashboard.DrawRobot(RobotPosition, Blue, "RobotPosition");
81+
client.dashboard.DrawRobot(RobotPosition, DashboardClient.Blue, "RobotPosition");
8382

8483
poseHistory.add(RobotPosition);
8584
}
@@ -101,11 +100,11 @@ public void runOrderPackage(@NonNull LinkedList<DriveOrder> orders) {
101100

102101
Vector2d[] PoseList;
103102
PoseList=new Vector2d[commandLists.length+1];
104-
PoseList[0]=commandLists[0].pose.position;
103+
PoseList[0]=commandLists[0].pose.asVector();
105104
Timer timer = new Timer();
106105

107106
for(int i=0;i<commandLists.length;++i){
108-
PoseList[i+1]=commandLists[i].NEXT().position;
107+
PoseList[i+1]=commandLists[i].NEXT().asVector();
109108
}
110109

111110
Actions.runBlocking(new Action() {
@@ -115,11 +114,11 @@ public boolean run(@NonNull TelemetryPacket telemetryPacket) {
115114
DriveAction singleAction =commandLists[ID];
116115
singleAction.RUN();
117116
update();
118-
motors.updateDriveOptions(RobotPosition.heading.toDouble());
117+
motors.updateDriveOptions(RobotPosition.heading);
119118

120119
BufPower= singleAction.BufPower;
121-
double dY = singleAction.getDeltaTrajectory().position.y;
122-
double dX = singleAction.getDeltaTrajectory().position.x;
120+
double dY = singleAction.getDeltaTrajectory().y;
121+
double dX = singleAction.getDeltaTrajectory().x;
123122
final double distance=Math.sqrt(dX * dX + dY * dY);
124123
final double estimatedTime=distance/(Params.secPowerPerInch *BufPower);
125124
client.changeData("distance",distance);
@@ -128,12 +127,12 @@ public boolean run(@NonNull TelemetryPacket telemetryPacket) {
128127
client.changeData("DELTA", singleAction.getDeltaTrajectory().toString());
129128

130129
timer.restart();
131-
while ((Math.abs(RobotPosition.position.x-PoseList[ID+1].x)> pem)
132-
&& (Math.abs(RobotPosition.position.y-PoseList[ID+1].y)> pem)
133-
&& (Math.abs(RobotPosition.heading.toDouble()-singleAction.NEXT().heading.toDouble())> aem)){
130+
while ((Math.abs(RobotPosition.x-PoseList[ID+1].x)> pem)
131+
&& (Math.abs(RobotPosition.y-PoseList[ID+1].y)> pem)
132+
&& (Math.abs(RobotPosition.heading-singleAction.NEXT().heading)> aem)){
134133
double progress=(timer.stopAndGetDeltaTime() / 1000.0) / estimatedTime * 100;
135134
client.changeData("progress", progress +"%");
136-
Pose2d aim= Functions.getAimPositionThroughTrajectory(singleAction,RobotPosition,progress);
135+
Position2d aim= Functions.getAimPositionThroughTrajectory(singleAction,RobotPosition,progress);
137136

138137
if(timer.getDeltaTime()>estimatedTime+ timeOutProtectionMills&& Params.Configs.useOutTimeProtection){//保护机制
139138
robotState = RobotState.BrakeDown;
@@ -142,14 +141,14 @@ public boolean run(@NonNull TelemetryPacket telemetryPacket) {
142141
}
143142

144143
if(Params.Configs.usePIDInAutonomous){
145-
if(Math.abs(aim.position.x- RobotPosition.position.x)> pem
146-
|| Math.abs(aim.position.y- RobotPosition.position.y)> pem
147-
|| Math.abs(aim.heading.toDouble()- RobotPosition.heading.toDouble())> aem
144+
if(Math.abs(aim.x- RobotPosition.x)> pem
145+
|| Math.abs(aim.y- RobotPosition.y)> pem
146+
|| Math.abs(aim.heading- RobotPosition.heading)> aem
148147
|| Params.Configs.alwaysRunPIDInAutonomous ){
149148
//间断地调用pid可能会导致pid的效果不佳
150-
pidProcessor.registerInaccuracies(ContentTags[0], aim.position.x- RobotPosition.position.x);
151-
pidProcessor.registerInaccuracies(ContentTags[1], aim.position.y- RobotPosition.position.y);
152-
pidProcessor.registerInaccuracies(ContentTags[2], aim.heading.toDouble()- RobotPosition.heading.toDouble());
149+
pidProcessor.registerInaccuracies(ContentTags[0], aim.x- RobotPosition.x);
150+
pidProcessor.registerInaccuracies(ContentTags[1], aim.y- RobotPosition.y);
151+
pidProcessor.registerInaccuracies(ContentTags[2], aim.heading- RobotPosition.heading);
153152

154153
pidProcessor.update();
155154

@@ -158,13 +157,13 @@ public boolean run(@NonNull TelemetryPacket telemetryPacket) {
158157
motors.headingPower+=pidProcessor.getFulfillment(ContentTags[2]);
159158
}
160159
}else{
161-
if(Math.abs(aim.position.x- RobotPosition.position.x)> pem
162-
|| Math.abs(aim.position.y- RobotPosition.position.y)> pem
163-
|| Math.abs(aim.heading.toDouble()- RobotPosition.heading.toDouble())> aem){
160+
if(Math.abs(aim.x- RobotPosition.x)> pem
161+
|| Math.abs(aim.y- RobotPosition.y)> pem
162+
|| Math.abs(aim.heading- RobotPosition.heading)> aem){
164163
double[] fulfillment=new double[]{
165-
(aim.position.x- RobotPosition.position.x)*(Params.secPowerPerInch)*BufPower/2,
166-
(aim.position.y- RobotPosition.position.y)*(Params.secPowerPerInch)*BufPower/2,
167-
(aim.heading.toDouble()> RobotPosition.heading.toDouble()? BufPower/2:-BufPower/2)
164+
(aim.x- RobotPosition.x)*(Params.secPowerPerInch)*BufPower/2,
165+
(aim.y- RobotPosition.y)*(Params.secPowerPerInch)*BufPower/2,
166+
(aim.heading> RobotPosition.heading? BufPower/2:-BufPower/2)
168167
};
169168

170169
motors.xAxisPower+=fulfillment[0];
@@ -173,7 +172,7 @@ public boolean run(@NonNull TelemetryPacket telemetryPacket) {
173172
}
174173
}
175174

176-
motors.updateDriveOptions(RobotPosition.heading.toDouble());
175+
motors.updateDriveOptions(RobotPosition.heading);
177176
}
178177

179178
if(ID!=commandLists.length-1){
@@ -207,7 +206,7 @@ public Chassis getClassic() {
207206
}
208207

209208
@Override
210-
public Pose2d getCurrentPose() {
209+
public Position2d getCurrentPose() {
211210
return RobotPosition;
212211
}
213212

0 commit comments

Comments
 (0)