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 climbUpTicks = 94; // TODO: 实测后调整
|
||||||
public static final double climbDownTicks = 0; // TODO: 实测后调整
|
public static final double climbDownTicks = 0; // TODO: 实测后调整
|
||||||
public static final double holdToleranceRot = 0.5;
|
public static final double holdToleranceRot = 0.5;
|
||||||
|
public static final double deltaDownTicks = 1;
|
||||||
|
|
||||||
public static final Slot0Configs slot0Configs = new Slot0Configs();
|
public static final Slot0Configs slot0Configs = new Slot0Configs();
|
||||||
|
|
||||||
|
|||||||
@@ -24,15 +24,19 @@ public class ClimberControls {
|
|||||||
return Commands.run(()->{
|
return Commands.run(()->{
|
||||||
//climber.climbUp();
|
//climber.climbUp();
|
||||||
// 优先级:如果同时按,优先上升(你也可以反过来)
|
// 优先级:如果同时按,优先上升(你也可以反过来)
|
||||||
if (controller.y().getAsBoolean()) {
|
if(controller.y().getAsBoolean()&&controller.x().getAsBoolean()){
|
||||||
|
climber.zeroEncoder();
|
||||||
|
}
|
||||||
|
else if (controller.y().getAsBoolean()) {
|
||||||
climber.climbUp();
|
climber.climbUp();
|
||||||
} else if (controller.x().getAsBoolean()) {
|
} else if (controller.x().getAsBoolean()) {
|
||||||
climber.climbDown();
|
climber.climbDownNonStop();
|
||||||
} else {
|
} else {
|
||||||
// 松开:记录当前位置 + 锁死
|
// 松开:记录当前位置 + 锁死
|
||||||
climber.captureHoldPosition();
|
climber.captureHoldPosition();
|
||||||
climber.holdPosition();
|
climber.holdPosition();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 调试用
|
// 调试用
|
||||||
table.getEntry("xHeld_up").setBoolean(controller.x().getAsBoolean());
|
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 final VelocityVoltage velocityRequest = new VelocityVoltage(0).withSlot(0);
|
||||||
|
|
||||||
private double holdPositionTicks = 0.0;
|
private double holdPositionTicks = 0.0;
|
||||||
|
private double deltaPositionTicks = 0.0;
|
||||||
|
|
||||||
private final NetworkTable climberTable;
|
private final NetworkTable climberTable;
|
||||||
|
|
||||||
@@ -71,6 +72,12 @@ public class ClimberSubsystem extends SubsystemBase {
|
|||||||
public void climbDown() {
|
public void climbDown() {
|
||||||
targetPositionTicks = Constants.Climber.climbDownTicks;
|
targetPositionTicks = Constants.Climber.climbDownTicks;
|
||||||
climberMotor.setControl(positionHoldRequest.withPosition(targetPositionTicks));
|
climberMotor.setControl(positionHoldRequest.withPosition(targetPositionTicks));
|
||||||
|
|
||||||
|
}
|
||||||
|
public void climbDownNonStop(){
|
||||||
|
|
||||||
|
deltaPositionTicks = Constants.Climber.deltaDownTicks;
|
||||||
|
climberMotor.setControl(positionHoldRequest.withPosition(targetPositionTicks-deltaPositionTicks));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void captureHoldPosition() {
|
public void captureHoldPosition() {
|
||||||
|
|||||||
Reference in New Issue
Block a user