private CANTalon defenseHand;
private double hookHeight;
private double footHeight;
- private double[] potAngles;
+ private double[] potHandAngles;
+ private double[] potArmAngles;
// angles corresponding to pre-determined heights we will need
defenseArm = new CANTalon(Constants.DefenseArm.ARM_PORT);
defenseHand = new CANTalon(Constants.DefenseArm.HAND_PORT);
- potAngles = createPotArray();
+ potHandAngles = createHandPotArray();
+ potArmAngles = createArmPotArray();
}
public double getArmPotAngle() {
* @return
* the angle of the arm corresponding to that arm location
*/
- public double getAngleForLocation(int desiredArmLocation) {
- return potAngles[desiredArmLocation];
+
+ public double getAngleForHandLocation(int desiredArmLocation) {
+ return potHandAngles[desiredArmLocation];
+ }
+
+ public double getAngleForArmLocation(int desiredArmLocation) {
+ return potArmAngles[desiredArmLocation];
+ }
+
+ public double[] createHandPotArray() {
+ double[] arr = new double[3];
+
+ for (int i = 0; i < 3; i++) {
+ arr[i] = 45 * i;
+ }
+ return arr;
}
- public double[] createPotArray() {
+ public double[] createArmPotArray() {
double[] arr = new double[3];
for (int i = 0; i < 3; i++) {
defenseHand.set(speed);
}
- public double getArmHorizontalDist() {
- double arm = Constants.DefenseArm.ARM_LENGTH * Math.cos(getArmPotAngle());
- double hand = Constants.DefenseArm.HAND_LENGTH
+ // TODO: figure out if measurements are all in inches
+ public double getArmHorizontalDisplacement() {
+ double armHorizontalDisplacement = Constants.DefenseArm.ARM_LENGTH
+ * Math.cos(getArmPotAngle());
+ double handHorizontalDisplacement = Constants.DefenseArm.HAND_LENGTH
* Math.cos(getHandPotAngle());
- return (arm + hand);
+ return (armHorizontalDisplacement + handHorizontalDisplacement);
}
- public double getArmHeight() {
+ public double getArmVerticalDisplacement() {
double armMounted = Constants.DefenseArm.ARM_MOUNTED_HEIGHT;
- double arm = Constants.DefenseArm.ARM_LENGTH * Math.sin(getArmPotAngle());
- double hand = Constants.DefenseArm.HAND_LENGTH
+ double armVerticalDisplacement = Constants.DefenseArm.ARM_LENGTH
+ * Math.sin(getArmPotAngle());
+ double handVerticalDisplacement = Constants.DefenseArm.HAND_LENGTH
* Math.sin(getHandPotAngle());
- return (armMounted + arm + hand);
+ return (armMounted + armVerticalDisplacement + handVerticalDisplacement);
}
public boolean isOutsideRange() {
- if (getArmHorizontalDist() < 15)
+ if (getArmHorizontalDisplacement() < 15)
return false;
return true;
}