Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create Arm System #18

Open
NoamZW opened this issue Jan 24, 2024 · 1 comment
Open

Create Arm System #18

NoamZW opened this issue Jan 24, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@NoamZW
Copy link
Contributor

NoamZW commented Jan 24, 2024

The Arm system is designed to set to a ceratin angle in order to shoot from different distances.
Thus, in the constructor, we'll get an angle(starting anle)-make sure to update it in the initialize.
In a addition, we'll be using;

  • two neo 500 motors
  • two SparkMax controllers-master and follower

It should contain 1 Action ; SetAngle
The action will get an angle we want the arm to get to, and use PID in order to get to it.

For any questions, you're more than welcome to write any of us- @tomtzook @Maayan-Luzon @NoamZW

Once you've finished, commit and push, and update me(whatapp).

Good luck

@NoamZW NoamZW added the enhancement New feature or request label Jan 24, 2024
@NoamZW NoamZW added this to the Initial Robot Code milestone Jan 24, 2024
@Maayan-Luzon
Copy link
Contributor

Some fixes and updates:

  • The follower motor need to be inverted: follower.follow(master, true);
  • The master motor is kbrushless. Fix it in the systemFactory.
  • Master's ID: 15, follower's ID: 16, encoder's channel: 9. (for the RobotMap)
  • The DutyCycleEncoder returns its absolute position in values between -1.0 -> 1.0. You need to multiply the value by 360 degrees when returning it in the getAngle2Target() method.
  • We wish to specify the zero angle as the horizontal position of the Arm. Thus, it is necessary to find the Arm's offset angle. In the DutyCycleEncoder class, read about returning the absolute position when taking the offset angle into consideration.
  • The "move" and "speed" methods should receive desired angle and act according to that angle.
  • Make an Action to make the Arm move to an specific angle (receive the angle in the constructor).
  • Create two constants of angles, one for the "speaker" and the other for the "amp". When we get very close to the target, the angles will be employed in case the vision processing fails. Verify the necessary angles.
  • When using the Arm, we wish to make it stay in the same angle for a while (for shooting etc). Think of a way of doing that. PID? Constant low speed for a short time? A defaultAction?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants