Working to make a arm

I am our teams only programmer and am looking to make a arm for this years game but im not sure were to start when it comes to making the PID for it and how to set set points with speeds can anyone help show how to make a arm?

It’s not the fanciest, but here’s what we’ve done the last two years. Code: 2024Crescendo/src/main/java/frc/robot/subsystems/PivotSubsystem.java at main · SuperiorRoboworksTeam857/2024Crescendo · GitHub

Explanation: both our 2023 and 2024 robots have arms that are of moderate length (this year’s is about 2 feet long). This year’s has two NEOs with 125:1 reduction in a MAXplanetary and another 64:16 reduction by chain and sprocket to the arm pivot. Having a large reduction makes things simpler to control and gravity less important. We also have a REV through bore encoder and the absolute encoder breakout connected to the Spark MAX to get position feedback of the arm’s actual position.

I don’t remember quite what we did to tune the TrapezoidProfile, but that let’s the arm smoothly accelerate and decelerate at the ends of its motion (it just kind of works).

The arm positions we found by printing to the encoder position to the smart dashboard, and manually moving the arm while disabled (and chain removed so it was easy to move).

1 Like

What motors are you using? This would help drive the conversation. CTRE then Motion Magic. Rev profiled trapezoid

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.