private CANTalon defenseHand;
private double hookHeight;
private double footHeight;
+
private double[] potHandAngles;
private double[] potArmAngles;
+ private double[] potAngles;
// angles corresponding to pre-determined heights we will need
public DefenseArm() {
defenseArmPotentiometer = new AnalogPotentiometer(
- Constants.DefenseArm.ARM_CHANNEL,
- Constants.DefenseArm.FULL_RANGE,
+ Constants.DefenseArm.ARM_CHANNEL, Constants.DefenseArm.FULL_RANGE,
Constants.DefenseArm.OFFSET);
defenseHandPotentiometer = new AnalogPotentiometer(
- Constants.DefenseArm.HAND_CHANNEL,
- Constants.DefenseArm.FULL_RANGE,
+ Constants.DefenseArm.HAND_CHANNEL, Constants.DefenseArm.FULL_RANGE,
Constants.DefenseArm.OFFSET);
defenseArm = new CANTalon(Constants.DefenseArm.ARM_PORT);
}
/***
- * This method takes an arm location as input (range of [0,2])
- * Returns the angle of the arm corresponding to that arm location
+ * This method takes an arm location as input (range of [0,2]) Returns the
+ * angle of the arm corresponding to that arm location
*
* @param desiredArmLocation
- * takes an arm location ranging from [0,2]
- * 0 is the lowest position of arm
- * 2 is the highest position of arm
- * @return
- * the angle of the arm corresponding to that arm location
+ * takes an arm location ranging from [0,2] 0 is the lowest position
+ * of arm 2 is the highest position of arm
+ * @return the angle of the arm corresponding to that arm location
*/
public double getAngleForHandLocation(int desiredArmLocation) {
return potHandAngles[desiredArmLocation];
*
* @param speed
* The voltage that you set the motor at. The range of the voltage of
- * the arm motor is from [-1,1]. A
- * negative voltage makes the direction of the motor go backwards.
+ * the arm motor is from [-1,1]. A negative voltage makes the
+ * direction of the motor go backwards.
*/
public void setArmSpeed(double speed) {
*
* @param speed
* The voltage that you set the motor at. The range of the voltage of
- * the hand motor is from [-1,1]. A
- * negative voltage makes the direction of the motor go backwards.
+ * the hand motor is from [-1,1]. A negative voltage makes the
+ * direction of the motor go backwards.
*/
public void setHandSpeed(double speed) {
return (armMounted + armVerticalDisplacement + handVerticalDisplacement);
}
+ public double getArmHorizontalDist() {
+ double arm = Constants.DefenseArm.ARM_LENGTH * Math.cos(getArmPotAngle());
+ double hand = Constants.DefenseArm.HAND_LENGTH
+ * Math.cos(getHandPotAngle());
+ return (arm + hand);
+ }
+
+ public double getArmHeight() {
+ double armMounted = Constants.DefenseArm.ARM_MOUNTED_HEIGHT;
+ double arm = Constants.DefenseArm.ARM_LENGTH * Math.sin(getArmPotAngle());
+ double hand = Constants.DefenseArm.HAND_LENGTH
+ * Math.sin(getHandPotAngle());
+ return (armMounted + arm + hand);
+ }
+
public boolean isOutsideRange() {
- if (getArmHorizontalDisplacement() < 15)
+ if (getArmHorizontalDist() < 15)
return false;
return true;
}