Arm needs to be able to extend, retract, move upwards and downwards to reach low pole, medium pole, high pole, low shelf, medium shelf, and high shelf.
Functions:
ArmOut()
Arm will extend outwards to designated extended position.
ArmIn()
Arm will retract inwards to designated retracted position.
ArmUp()
Arm will move upwards designated angle.
ArmDown()
Arm will move downwards designated angle.
GetAnglePosition()
Return canCoder position of angle.
GetArmExtendedPosition()
Return canCoder position extended arm.
Hypothetical
ArmAngleReset()
Arm will reset to default angle.
ArmExtensionReset()
Arm will reset to default extension.
Components Needed:
canCoder to track angle of arm.
CANSparkMax Motor Controller x2
getMeasurement() will track the difference between the current encoder degree and target encoder degree (target will have pre-defined values).
Arm needs to be able to extend, retract, move upwards and downwards to reach low pole, medium pole, high pole, low shelf, medium shelf, and high shelf.
Functions:
Hypothetical
Components Needed:
getMeasurement() will track the difference between the current encoder degree and target encoder degree (target will have pre-defined values).
Must use a PIDF system: https://docs.wpilib.org/en/stable/docs/software/advanced-controls/controllers/pidcontroller.html