mirror of
https://github.com/BroncBotz3481/YAGSL
synced 2026-06-19 06:21:40 +00:00
Upgrading to 2025.1.0
This commit is contained in:
@@ -2,7 +2,7 @@ package swervelib.parser;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import edu.wpi.first.math.controller.SimpleMotorFeedforward;
|
||||
import edu.wpi.first.math.geometry.Pose2d;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
@@ -135,10 +135,7 @@ public class SwerveParser
|
||||
*/
|
||||
public SwerveDrive createSwerveDrive(double maxSpeed)
|
||||
{
|
||||
return createSwerveDrive(SwerveMath.createDriveFeedforward(physicalPropertiesJson.optimalVoltage,
|
||||
maxSpeed,
|
||||
physicalPropertiesJson.wheelGripCoefficientOfFriction),
|
||||
maxSpeed);
|
||||
return createSwerveDrive(maxSpeed, Pose2d.kZero);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -157,48 +154,20 @@ public class SwerveParser
|
||||
*/
|
||||
public SwerveDrive createSwerveDrive(double maxSpeed, double angleMotorConversionFactor, double driveMotorConversion)
|
||||
{
|
||||
physicalPropertiesJson.conversionFactor.angle = angleMotorConversionFactor;
|
||||
physicalPropertiesJson.conversionFactor.drive = driveMotorConversion;
|
||||
return createSwerveDrive(SwerveMath.createDriveFeedforward(physicalPropertiesJson.optimalVoltage,
|
||||
maxSpeed,
|
||||
physicalPropertiesJson.wheelGripCoefficientOfFriction),
|
||||
maxSpeed);
|
||||
physicalPropertiesJson.conversionFactors.angle.factor = angleMotorConversionFactor;
|
||||
physicalPropertiesJson.conversionFactors.drive.factor = driveMotorConversion;
|
||||
return createSwerveDrive(maxSpeed, Pose2d.kZero);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create {@link SwerveDrive} from JSON configuration directory.
|
||||
*
|
||||
* @param driveFeedforward Drive feedforward to use for swerve modules, should be created using
|
||||
* {@link swervelib.math.SwerveMath#createDriveFeedforward(double, double,
|
||||
* double)}.
|
||||
* @param maxSpeed Maximum speed of the robot in meters per second for normal+angular acceleration
|
||||
* in {@link swervelib.SwerveController} of the robot.
|
||||
* @param angleMotorConversionFactor Angle (AKA azimuth) motor conversion factor to convert motor controller PID loop
|
||||
* units to degrees, usually created using
|
||||
* {@link SwerveMath#calculateDegreesPerSteeringRotation(double, double)}.
|
||||
* @param driveMotorConversion Drive motor conversion factor to convert motor controller PID loop units to
|
||||
* meters per rotation, usually created using
|
||||
* {@link SwerveMath#calculateMetersPerRotation(double, double, double)}.
|
||||
* @param maxSpeed Maximum speed of the robot in meters per second for normal+angular acceleration in
|
||||
* {@link swervelib.SwerveController} of the robot
|
||||
* @param initialPose {@link Pose2d} initial pose.
|
||||
* @return {@link SwerveDrive} instance.
|
||||
*/
|
||||
public SwerveDrive createSwerveDrive(SimpleMotorFeedforward driveFeedforward, double maxSpeed,
|
||||
double angleMotorConversionFactor, double driveMotorConversion)
|
||||
{
|
||||
physicalPropertiesJson.conversionFactor.angle = angleMotorConversionFactor;
|
||||
physicalPropertiesJson.conversionFactor.drive = driveMotorConversion;
|
||||
return createSwerveDrive(driveFeedforward, maxSpeed);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create {@link SwerveDrive} from JSON configuration directory.
|
||||
*
|
||||
* @param driveFeedforward Drive feedforward to use for swerve modules, should be created using
|
||||
* {@link swervelib.math.SwerveMath#createDriveFeedforward(double, double, double)}.
|
||||
* @param maxSpeed Maximum speed of the robot in meters per second for normal+angular acceleration in
|
||||
* {@link swervelib.SwerveController} of the robot
|
||||
* @return {@link SwerveDrive} instance.
|
||||
*/
|
||||
public SwerveDrive createSwerveDrive(SimpleMotorFeedforward driveFeedforward, double maxSpeed)
|
||||
public SwerveDrive createSwerveDrive(double maxSpeed, Pose2d initialPose)
|
||||
{
|
||||
SwerveModuleConfiguration[] moduleConfigurations =
|
||||
new SwerveModuleConfiguration[moduleJsons.length];
|
||||
@@ -217,11 +186,12 @@ public class SwerveParser
|
||||
moduleConfigurations,
|
||||
swerveDriveJson.imu.createIMU(),
|
||||
swerveDriveJson.invertedIMU,
|
||||
driveFeedforward,
|
||||
physicalPropertiesJson.createPhysicalProperties());
|
||||
|
||||
return new SwerveDrive(
|
||||
swerveDriveConfiguration,
|
||||
controllerPropertiesJson.createControllerConfiguration(swerveDriveConfiguration, maxSpeed), maxSpeed);
|
||||
controllerPropertiesJson.createControllerConfiguration(swerveDriveConfiguration, maxSpeed),
|
||||
maxSpeed,
|
||||
initialPose);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user