本文整理汇总了Java中edu.wpi.first.wpilibj.PIDSourceType类的典型用法代码示例。如果您正苦于以下问题:Java PIDSourceType类的具体用法?Java PIDSourceType怎么用?Java PIDSourceType使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
PIDSourceType类属于edu.wpi.first.wpilibj包,在下文中一共展示了PIDSourceType类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: initGyro
import edu.wpi.first.wpilibj.PIDSourceType; //导入依赖的package包/类
/**
* Initialize the gyro. Calibration is handled by calibrate().
*/
public void initGyro() {
result = new AccumulatorResult();
m_voltsPerDegreePerSecond = kDefaultVoltsPerDegreePerSecond;
m_analog.setAverageBits(kAverageBits);
m_analog.setOversampleBits(kOversampleBits);
double sampleRate = kSamplesPerSecond * (1 << (kAverageBits + kOversampleBits));
AnalogInput.setGlobalSampleRate(sampleRate);
Timer.delay(0.1);
setDeadband(0.0);
setPIDSourceType(PIDSourceType.kDisplacement);
UsageReporting.report(tResourceType.kResourceType_Gyro, m_analog.getChannel());
LiveWindow.addSensor("AnalogGyro", m_analog.getChannel(), this);
}
示例2: Shooter
import edu.wpi.first.wpilibj.PIDSourceType; //导入依赖的package包/类
public Shooter() {
shooterLeftSide = new Talon(RobotMap.Pwm.LeftShooterMotor);
shooterRightSide = new Talon(RobotMap.Pwm.RightShooterMotor);
encoderLeft = new Encoder(RobotMap.Digital.ShooterLeftChannelA, RobotMap.Digital.ShooterLeftChannelB);
encoderRight = new Encoder(RobotMap.Digital.ShooterRightChannelA, RobotMap.Digital.ShooterRightChannelB);
encoderLeft.setPIDSourceType(PIDSourceType.kRate);
encoderRight.setPIDSourceType(PIDSourceType.kRate);
encoderLeft.setDistancePerPulse(distancePerPulse);
encoderRight.setDistancePerPulse(distancePerPulse);
// leftPID = new PIDSpeedController(encoderLeft, shooterLeftSide, "Shooter", "Left Wheel");
// rightPID = new PIDSpeedController(encoderRight, shooterRightSide, "Shooter", "Right Wheel");
}
示例3: Drivetrain
import edu.wpi.first.wpilibj.PIDSourceType; //导入依赖的package包/类
public Drivetrain() {
leftWheelsPIDSource = new EncoderPIDSource(RobotMap.driveEncoderLeft, 1.0 / 14.0, PIDSourceType.kDisplacement);
//rightWheelsPIDSource = new EncoderPIDSource(RobotMap.driveEncoderRight, -1.0 / 14.0, PIDSourceType.kDisplacement);
rightWheelsPIDSource = new EncoderPIDSource(RobotMap.driveEncoderRight, ((-1.0 / 360.0) * 250.0) * (1.0 / 14.0), PIDSourceType.kDisplacement);
compassPID = new PIDController(0.1, 0, 0, new CompassPIDSource(), new DummyPIDOutput());
gyroPID = new PIDController(0.01, 0.0001, 0.00001, new GyroPIDSource(), new DummyPIDOutput());
leftWheelsPID = new PIDController(0.02, 0.0004, 0, leftWheelsPIDSource, new DummyPIDOutput());
rightWheelsPID = new PIDController(0.02, 0.0004, 0, rightWheelsPIDSource, new DummyPIDOutput());
compassPID.disable();
compassPID.setOutputRange(-1.0, 1.0); // Set turning speed range
compassPID.setPercentTolerance(5.0); // Set tolerance of 5%
gyroPID.disable();
gyroPID.setOutputRange(-1.0, 1.0); // Set turning speed range
gyroPID.setPercentTolerance(5.0); // Set tolerance of 5%
leftWheelsPID.disable();
leftWheelsPID.setOutputRange(-1.0, 1.0);
rightWheelsPID.disable();
rightWheelsPID.setOutputRange(-1.0, 1.0);
}
示例4: Lift
import edu.wpi.first.wpilibj.PIDSourceType; //导入依赖的package包/类
public Lift(int motorChannel, int brakeChannelForward, int brakeChannelReverse, int encoderChannelA,
int encoderChannelB, int boundaryLimitChannel, String subsystem) {
motor = new Talon(motorChannel);
brake = new DoubleSolenoid(RobotMap.solenoid.Pcm24, brakeChannelForward, brakeChannelReverse);
encoder = new Encoder(encoderChannelA, encoderChannelB);
boundaryLimit = new DigitalInput(boundaryLimitChannel);
LiveWindow.addActuator(subsystem, "Motor", motor);
LiveWindow.addActuator(subsystem, "Brake", brake);
LiveWindow.addSensor(subsystem, "Encoder", encoder);
LiveWindow.addSensor(subsystem, "Boundary Limit Switch", boundaryLimit);
encoder.setPIDSourceType(PIDSourceType.kRate);
pid = new PIDSpeedController(encoder, motor, subsystem, "Speed Control");
subsystemName = subsystem;
}
示例5: SetDistanceToBox
import edu.wpi.first.wpilibj.PIDSourceType; //导入依赖的package包/类
public SetDistanceToBox(double distance) {
requires(Robot.drivetrain);
pid = new PIDController(-2, 0, 0, new PIDSource() {
PIDSourceType m_sourceType = PIDSourceType.kDisplacement;
public double pidGet() {
return Robot.drivetrain.getDistanceToObstacle();
}
@Override
public void setPIDSourceType(PIDSourceType pidSource) {
m_sourceType = pidSource;
}
@Override
public PIDSourceType getPIDSourceType() {
return m_sourceType;
}
}, new PIDOutput() {
public void pidWrite(double d) {
Robot.drivetrain.drive(d, d);
}
});
pid.setAbsoluteTolerance(0.01);
pid.setSetpoint(distance);
}
示例6: DriveStraight
import edu.wpi.first.wpilibj.PIDSourceType; //导入依赖的package包/类
public DriveStraight(double distance) {
requires(Robot.drivetrain);
pid = new PIDController(4, 0, 0,
new PIDSource() {
PIDSourceType m_sourceType = PIDSourceType.kDisplacement;
public double pidGet() {
return Robot.drivetrain.getDistance();
}
@Override
public void setPIDSourceType(PIDSourceType pidSource) {
m_sourceType = pidSource;
}
@Override
public PIDSourceType getPIDSourceType() {
return m_sourceType;
}
},
new PIDOutput() { public void pidWrite(double d) {
Robot.drivetrain.drive(d, d);
}});
pid.setAbsoluteTolerance(0.01);
pid.setSetpoint(distance);
}
示例7: sourceFor
import edu.wpi.first.wpilibj.PIDSourceType; //导入依赖的package包/类
protected static PIDSource sourceFor(SystemModel model, PIDSourceType initialSourceType) {
return new PIDSource() {
private PIDSourceType sourceType = initialSourceType;
@Override
public PIDSourceType getPIDSourceType() {
return sourceType;
}
@Override
public void setPIDSourceType(PIDSourceType pidSource) {
this.sourceType = pidSource;
}
@Override
public double pidGet() {
return model.getActualValue();
}
};
}
示例8: DriveToPeg
import edu.wpi.first.wpilibj.PIDSourceType; //导入依赖的package包/类
public DriveToPeg(){
double distance = .2;
requires(Robot.driveBase);
double kP = -.4;
double kI = 1;
double kD = 5;
pid = new PIDController(kP, kI, kD, new PIDSource() {
PIDSourceType m_sourceType = PIDSourceType.kDisplacement;
@Override
public double pidGet() {
return Robot.driveBase.getDistanceAhead();
}
@Override
public void setPIDSourceType(PIDSourceType pidSource) {
m_sourceType = pidSource;
}
@Override
public PIDSourceType getPIDSourceType() {
return m_sourceType;
}
}, new PIDOutput() {
@Override
public void pidWrite(double d) {
Robot.driveBase.driveForward(d);
System.out.println(d);
}
});
pid.setAbsoluteTolerance(0.01);
pid.setSetpoint(distance);
pid.setOutputRange(0, .35);
SmartDashboard.putData("driveToPeg", pid);
}
示例9: Drive
import edu.wpi.first.wpilibj.PIDSourceType; //导入依赖的package包/类
public Drive() {
initializeGear();
// setPIDConstants();
// leftEncoder.setDistancePerPulse(distancePerPulse);
// rightEncoder.setDistancePerPulse(distancePerPulse);
leftEncoder.setPIDSourceType(PIDSourceType.kRate);
rightEncoder.setPIDSourceType(PIDSourceType.kRate);
}
示例10: AimShooter
import edu.wpi.first.wpilibj.PIDSourceType; //导入依赖的package包/类
public AimShooter() {
pot = new AnalogInput(RobotMap.Analog.ShooterPotAngle);
pot.setPIDSourceType(PIDSourceType.kDisplacement);
motor = new Victor(RobotMap.Pwm.ShooterAngleMotor);
anglePID = new PIDSpeedController(pot, motor, "anglePID", "AimShooter");
updatePIDConstants();
anglePID.set(0);
}
示例11: pidGet
import edu.wpi.first.wpilibj.PIDSourceType; //导入依赖的package包/类
/**
* Returns the current yaw value reported by the sensor. This
* yaw value is useful for implementing features including "auto rotate
* to a known angle".
* @return The current yaw angle in degrees (-180 to 180).
*/
public double pidGet() {
if ( pid_source_type == PIDSourceType.kRate ) {
return getRate();
} else {
return getYaw();
}
}
示例12: setPIDSourceType
import edu.wpi.first.wpilibj.PIDSourceType; //导入依赖的package包/类
@Override
public void setPIDSourceType(PIDSourceType pidSource)
{
}
示例13: getPIDSourceType
import edu.wpi.first.wpilibj.PIDSourceType; //导入依赖的package包/类
@Override
public PIDSourceType getPIDSourceType()
{
return PIDSourceType.kDisplacement;
}
示例14: setPIDSourceType
import edu.wpi.first.wpilibj.PIDSourceType; //导入依赖的package包/类
@Override
public void setPIDSourceType(PIDSourceType pidSource) {
pidSourceType = pidSource;
}
示例15: getPIDSourceType
import edu.wpi.first.wpilibj.PIDSourceType; //导入依赖的package包/类
@Override
public PIDSourceType getPIDSourceType() {
return pidSourceType;
}