Skip to content

Commit fe6c099

Browse files
small fixes + smartdashboard
1 parent e2dabbf commit fe6c099

File tree

5 files changed

+26
-89
lines changed

5 files changed

+26
-89
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins {
22
id "java"
3-
id "edu.wpi.first.GradleRIO" version "2024.3.1"
3+
id "edu.wpi.first.GradleRIO" version "2024.3.2"
44
}
55

66
java {

src/main/java/org/carlmontrobotics/RobotContainer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -187,14 +187,14 @@ private void setBindingsManipulatorENDEFF() {
187187
);
188188
new JoystickButton(manipulatorController, Button.kY.value).onTrue(new MoveToPos(arm, AMP_ANGLE_RAD));
189189
new JoystickButton(manipulatorController, Button.kA.value).onTrue(new MoveToPos(arm, GROUND_INTAKE_POS));
190-
new JoystickButton(manipulatorController, Button.kB.value).onTrue(new moveClimber(arm));
191-
new JoystickButton(manipulatorController, Button.kX.value).onTrue(new IntakeTesting(intakeShooter));
190+
//new JoystickButton(manipulatorController, Button.kB.value).onTrue(new moveClimber(arm));
191+
//new JoystickButton(manipulatorController, Button.kX.value).onTrue(new IntakeTesting(intakeShooter));
192192
//new WaitCommand(.5),
193193
//new MoveToPos(arm, GROUND_INTAKE_POS)
194194
//MoveToPos(arm, GROUND_INTAKE_POS));
195195

196196
new JoystickButton(manipulatorController, RAISE_CLIMBER).onTrue(new MoveToPos(arm, Armc.UPPER_ANGLE_LIMIT_RAD));
197-
new JoystickButton(manipulatorController, LOWER_CLIMBER).onTrue(new moveClimber(arm));
197+
new JoystickButton(manipulatorController, LOWER_CLIMBER).onTrue(new ClimbArmSoftLimit(arm));
198198

199199
//NEW BINDINGS(easier for manipulator)
200200
//Xbox left joy Y axis -> raw Intake/Outtake control

src/main/java/org/carlmontrobotics/commands/ClimbArmSoftLimit.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55
import static org.carlmontrobotics.Constants.Armc.*;
66

77
import org.carlmontrobotics.Constants.Armc.*;
8+
9+
import edu.wpi.first.math.util.Units;
10+
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
11+
12+
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
813
import edu.wpi.first.wpilibj2.command.Command;
914

1015
public class ClimbArmSoftLimit extends Command {
@@ -13,26 +18,27 @@ public class ClimbArmSoftLimit extends Command {
1318
public ClimbArmSoftLimit(Arm arm) {
1419
this.arm = arm;
1520
addRequirements(arm);
21+
SmartDashboard.putNumber("climber volts", 0);
1622
}
1723
@Override
1824
public void initialize() {
1925
arm.setLimitsForClimbOn();
20-
arm.setArmTarget(CLIMBER_UP_ANGLE_RAD);
21-
arm.setBooleanDrive(true);
26+
arm.setBooleanDrive(false);
2227
}
2328
@Override
2429
public void execute() {
25-
arm.driveArmMax(-1);
26-
arm.setSoftLimit( (float) SOFT_LIMIT_LOCATION_IN_RADIANS); //TODO: Find out what limit actually is defined as
30+
arm.driveArm(SmartDashboard.getNumber("climber volts", 0));
2731
}
2832
@Override
2933
public void end(boolean interrupted) {
3034
arm.stopArm(); //OR maintain small voltage to keep arm in place?
3135
arm.resetSoftLimit();
32-
arm.setBooleanDrive(false);
36+
arm.setArmTarget(arm.getArmPos());
37+
arm.setBooleanDrive(true);
3338
}
3439
@Override
3540
public boolean isFinished() {
36-
return arm.getArmPos() <= CLIMBER_DOWN_ANGLE_RAD + 0.02 || arm.getArmPos() >= CLIMBER_DOWN_ANGLE_RAD - 0.05; //TODO: Figure out the actual climb position
41+
//TODO: Figure out the actual climb position
42+
return Math.abs(arm.getArmPos() - CLIMBER_DOWN_ANGLE_RAD) < Units.degreesToRadians(5);
3743
}
3844
}

src/main/java/org/carlmontrobotics/commands/moveClimber.java

Lines changed: 0 additions & 67 deletions
This file was deleted.

src/main/java/org/carlmontrobotics/subsystems/Arm.java

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,9 @@ public Arm() {
149149

150150
lastArmPos = getArmPos();
151151
lastMeasuredTime = Timer.getFPGATimestamp();
152+
153+
SmartDashboard.putNumber("ramp rate (s)", 2);
154+
SmartDashboard.putNumber("soft limit pos (rad)", SOFT_LIMIT_LOCATION_IN_RADIANS);
152155
}
153156
public void setBooleanDrive(boolean climb) {
154157
callDrive = climb;
@@ -255,20 +258,18 @@ private void driveArm() {
255258
SmartDashboard.putNumber("pid volts", armMotorMaster.getBusVoltage() * armMotorMaster.getAppliedOutput() - armFeedVolts);
256259
}
257260

258-
public void drivearm(double throttleVolts) {
259-
armMotorMaster.setVoltage(throttleVolts);
260-
}
261-
262261
public void stopArm() {
263262
armMotorMaster.set(0);
264263

265264
}
266-
public void driveArmMax(int direction) {
267-
drivearm(6 * direction); //STARTING WITH SLOWER SPEED FOR TESTING
265+
public void driveArm(double volts) {
266+
//armMotorMaster.set(0)
267+
armMotorMaster.setVoltage(volts); //STARTING WITH SLOWER SPEED FOR TESTING
268268
}
269269
public void setLimitsForClimbOn() {
270270
armPIDMaster.setOutputRange(-12, 12);
271-
armMotorMaster.setOpenLoopRampRate(5);
271+
armMotorMaster.setSoftLimit(SoftLimitDirection.kReverse, (float)SmartDashboard.getNumber("soft limit pos (rad)", SOFT_LIMIT_LOCATION_IN_RADIANS));
272+
armMotorMaster.setOpenLoopRampRate(SmartDashboard.getNumber("ramp rate (s)", 2));
272273
armMotorMaster.enableSoftLimit(SoftLimitDirection.kReverse, true);
273274
}
274275
/**
@@ -332,13 +333,10 @@ public double getArmPos() {
332333
public double getArmVel() {
333334
return armMasterEncoder.getVelocity();
334335
}
335-
public void setSoftLimit(float limit) {
336-
337-
armMotorMaster.setSoftLimit(SoftLimitDirection.kReverse, limit);
338-
}
339336
public void resetSoftLimit() {
340-
armPIDMaster.setOutputRange(-12/MIN_VOLTAGE, 12/MAX_VOLTAGE);
337+
armPIDMaster.setOutputRange(MIN_VOLTAGE/-12, MAX_VOLTAGE/12);
341338
armMotorMaster.enableSoftLimit(SoftLimitDirection.kReverse, false);
339+
armMotorMaster.setOpenLoopRampRate(0);
342340
}
343341
public TrapezoidProfile.State getCurrentArmState() {
344342
return new TrapezoidProfile.State(getArmPos(), getArmVel());

0 commit comments

Comments
 (0)