User Tools

Site Tools


training:software:arm_subsystems

Arm Subsystems

In FRC an arm is a subsystem that moves a mechanism in an angular motion. Usually this is accomplished by one or more motors driving the arm shaft at the pivot through gears or belts and pulleys. The ratio of motor revolutions to arm revolutions is the gear ratio G.

An arm motor is typically commanded though a feedback controller that reads the position (angle) of the mechanism so it can be moved to the specified position and held there, even if the mass changes due to holding or releasing an object. This can be done with a PID Controller or Profiled PID Controller. A Feedforward can be used along with the PID controller to provide a better response.

With an arm the effect of gravity changes as the arm moves between horizontal and vertical. When the arm is horizontal, the full force of gravity pulls the arm such that it causes an angular downward force. When the arm is vertical, gravity is pushing or pulling on the pivot, and there is no angular force. The angular force is proportional to the cosine of the angle from horizontal, and the control approach needs to account for this variation.

References:
WPILib: - Introduction to DC Motor Feedforward: Arm Feedforward
https://docs.wpilib.org/en/stable/docs/software/advanced-controls/introduction/introduction-to-feedforward.html#arm-feedforward

WPILib: Tuning a Vertical Arm Position Controller
https://docs.wpilib.org/en/stable/docs/software/advanced-controls/introduction/tuning-vertical-arm.html

Discussion

Enter your comment:
I C O C D
 
training/software/arm_subsystems.txt · Last modified: by Brian Utterback

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki