Added unit conversion functions and made robot object functional with minibot modifications.

This commit is contained in:
RobotNRP
2020-10-03 11:41:46 -05:00
parent 86bfa02e6e
commit 9bef2bec90
3 changed files with 21 additions and 10 deletions

2
.idea/misc.xml generated
View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="ProjectType"> <component name="ProjectType">

View File

@@ -50,16 +50,16 @@ public class EncoderTest extends CyberarmState {
@Override @Override
public void telemetry() { public void telemetry() {
engine.telemetry.addData("controler", engine.gamepad1.left_stick_y); engine.telemetry.addData("controller", engine.gamepad1.left_stick_y);
engine.telemetry.addLine("Latency Values"); engine.telemetry.addLine("Latency Values");
engine.telemetry.addData("Y", robot.getLocationY()); engine.telemetry.addData("Y", robot.ticksToInches(robot.getLocationY()));
engine.telemetry.addData("X", robot.getLocationX()); engine.telemetry.addData("X", robot.ticksToInches(robot.getLocationX()));
engine.telemetry.addLine(); engine.telemetry.addLine();
engine.telemetry.addData("Rotation", robot.getRotation()); engine.telemetry.addData("Rotation", robot.getRotation());
engine.telemetry.addLine(); engine.telemetry.addLine();
engine.telemetry.addLine("Actual Values"); engine.telemetry.addLine("Actual Values");
engine.telemetry.addData("Left", ticksLeft); engine.telemetry.addData("Left", robot.ticksToInches(ticksLeft));
engine.telemetry.addData("Right", ticksRight); engine.telemetry.addData("Right", robot.ticksToInches(ticksRight));
// engine.telemetry.addLine(""); // engine.telemetry.addLine("");
// engine.telemetry.addData("Front", robot.encoderFront); // engine.telemetry.addData("Front", robot.encoderFront);

View File

@@ -25,8 +25,11 @@ public class Robot {
public DcMotor encoderBack; public DcMotor encoderBack;
public DcMotor encoderRight; public DcMotor encoderRight;
double BIAS_LEFT = 1.0; double BIAS_LEFT = -1.0;
double BIAS_RIGHT = 0.87; double BIAS_RIGHT = -0.87;
double Circumference_Encoder = Math.PI * 3.8;
int Counts_Per_Revolution = 8192;
//Robot Localizatoin //Robot Localizatoin
private double locationX; private double locationX;
@@ -46,7 +49,7 @@ public class Robot {
// encoderBack = hardwareMap.dcMotor.get("encoderBack"); // encoderBack = hardwareMap.dcMotor.get("encoderBack");
encoderRight = hardwareMap.dcMotor.get("encoderRight"); encoderRight = hardwareMap.dcMotor.get("encoderRight");
encoderLeft.setDirection(DcMotorSimple.Direction.REVERSE); encoderRight.setDirection(DcMotorSimple.Direction.REVERSE);
encoderLeft.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.BRAKE); encoderLeft.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.BRAKE);
encoderRight.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.BRAKE); encoderRight.setZeroPowerBehavior(DcMotor.ZeroPowerBehavior.BRAKE);
@@ -100,4 +103,12 @@ public class Robot {
public double getLocationY() { public double getLocationY() {
return locationY; return locationY;
} }
public double ticksToInches(double ticks) {
return ticks * (Circumference_Encoder / Counts_Per_Revolution);
}
public double inchesToTicks(double inches) {
return inches * (Counts_Per_Revolution / Circumference_Encoder);
}
} }