climber
现在,当想让climber放下时,它会一直运动直到松开按键 此外,当xy同时被按下时,编码器将会被清零
This commit is contained in:
@@ -122,6 +122,7 @@ public final class Constants {
|
||||
public static final double climbUpTicks = 94; // TODO: 实测后调整
|
||||
public static final double climbDownTicks = 0; // TODO: 实测后调整
|
||||
public static final double holdToleranceRot = 0.5;
|
||||
public static final double deltaDownTicks = 1;
|
||||
|
||||
public static final Slot0Configs slot0Configs = new Slot0Configs();
|
||||
|
||||
|
||||
@@ -24,15 +24,19 @@ public class ClimberControls {
|
||||
return Commands.run(()->{
|
||||
//climber.climbUp();
|
||||
// 优先级:如果同时按,优先上升(你也可以反过来)
|
||||
if (controller.y().getAsBoolean()) {
|
||||
if(controller.y().getAsBoolean()&&controller.x().getAsBoolean()){
|
||||
climber.zeroEncoder();
|
||||
}
|
||||
else if (controller.y().getAsBoolean()) {
|
||||
climber.climbUp();
|
||||
} else if (controller.x().getAsBoolean()) {
|
||||
climber.climbDown();
|
||||
climber.climbDownNonStop();
|
||||
} else {
|
||||
// 松开:记录当前位置 + 锁死
|
||||
climber.captureHoldPosition();
|
||||
climber.holdPosition();
|
||||
}
|
||||
|
||||
|
||||
// 调试用
|
||||
table.getEntry("xHeld_up").setBoolean(controller.x().getAsBoolean());
|
||||
|
||||
@@ -25,6 +25,7 @@ public class ClimberSubsystem extends SubsystemBase {
|
||||
private final VelocityVoltage velocityRequest = new VelocityVoltage(0).withSlot(0);
|
||||
|
||||
private double holdPositionTicks = 0.0;
|
||||
private double deltaPositionTicks = 0.0;
|
||||
|
||||
private final NetworkTable climberTable;
|
||||
|
||||
@@ -71,6 +72,12 @@ public class ClimberSubsystem extends SubsystemBase {
|
||||
public void climbDown() {
|
||||
targetPositionTicks = Constants.Climber.climbDownTicks;
|
||||
climberMotor.setControl(positionHoldRequest.withPosition(targetPositionTicks));
|
||||
|
||||
}
|
||||
public void climbDownNonStop(){
|
||||
|
||||
deltaPositionTicks = Constants.Climber.deltaDownTicks;
|
||||
climberMotor.setControl(positionHoldRequest.withPosition(targetPositionTicks-deltaPositionTicks));
|
||||
}
|
||||
|
||||
public void captureHoldPosition() {
|
||||
|
||||
Reference in New Issue
Block a user