Quote:
Originally Posted by IKE
(Post 1173538)
Congrats on the 150 in a row. That is quite the accomplishment. I seriously doubt that much more than 10% of FRC have even cycled that many balls through their shooter.
|
Our original goal for the video was to shoot 100 balls because based on our shooter’s performance, we knew this was possible. This video was the first time we have actually counted how many balls we can shoot in a row. After 100 balls, we decided to keep going out of curiosity. By the 150th ball, we were not able to feed the balls into the robot quickly enough to keep up with the rate of fire. We will always be curious to see how many more balls we could have scored.
To tune the shooter, we shot over 3000 balls to get the correct PID values for the flywheel, hood and platform and the correct bank shot for the largest variety of balls. During and after build season, we continued to experiment with different control loops and shots until we found the performance that can be seen in that video. We collected a variety of data on different types of shots, including both swishes and bank shots. In the end, we found that the bank shot was the most forgiving.
Quote:
Originally Posted by btslaser
(Post 1173539)
1) Does the shooter wheel run continuously at a nominal or the last speed?
2) Is it using camera tracking? Continuous?
|
Quote:
Originally Posted by LeelandS
(Post 1173714)
I don't know about you guys, but I'm way more interested in their targeting software!
|
As the programmer responsible for the shooter, I will give an overview of the shooter code. I think many people are going to be surprised how we aim our shooter. Originally, our goal was to shoot from anywhere on our half of the field. As the build season came to an end, we decided to hold our shooter back as part of our withholding allowance to continue working on shooter code. In the time before our competitions, we ultimately got the camera tracking to work from anywhere. However, we were surprised to realize that we could shoot more quickly and accurately with crosshairs on the drivers station and a video feed. After we watched a regional in week one, we reassessed our shooting strategy and reduced the number of locations on the field that we felt were strategically advantageous and worked on those.
In order aim the shooter, we created 5 preset values. For the key, there are left, center and right presets. For the fender, there are left and right presets. Our co-driver holds down either the “fender” or “key” button on his joystick and moves the joystick towards the direction of the hoop. For the fender, it will set the platform angle, flywheel speed, and hood angle to the correct values to make the shot. No other adjustments have to be made for the fender shot because it is a relatively high percentage shot. For the key, our co-driver moves the joystick to the left, middle, or right to get the preset hood angle, platform angle, and flywheel speed. From that distance, the presets would only work if the driver perfectly lined up the robot to the left, right, or center. To compensate for any robot misalignment, our co-driver uses a video feed on the driver station with crosshairs to make the final adjustment to the platform angle. The hood angle and flywheel speed are taken care of by the code. Although our shooter is capable of shooting more quickly than we do in a competition, we have a limiter on the shoot button that detects when a shot is fired and pauses for 100ms to make sure the previous shot has cleared the rim.
The flywheel runs continuously at its last speed. Our flywheel is only set to two different speeds: one for the fender shots and one for the key shots. A PID control loop maintains the speed of the wheel as balls are shot. Additionally, the co-driver can incrementally increase or decrease flywheel speed. This feature was implemented in case the wheel speed sensor failed and we had to run open-loop.