How to make "fast" autos?

I know that fast is relative, but how are teams able to make their autos fast enough to get to game pieces quick enough to make 5 note autos and still be accurate? Whenever we tried making our autos even a little bit faster, the error they begin to get is off the charts. Our autos are always really accurate, but we can never get them quick enough to go beyond the average. Here’s a video for reference. (We use pathplanner btw).

2 Likes

There’s a lot of waiting there, and slow movement

Up your acceleration and top speed in path planner

Speed up your roller speed when shooting your note. Try and increase your shooter/intake rotation speed. If you’re using motionmagic, increase the acceleration and top speed of the mechanism

Consider shooting on the fly (hard but you’re close to the goal)

3 Likes

You could try adding logic to detect when you’ve shot a note. This will allow you to start your next path the moment the note leaves your robot.

You should be able to detect the shooting sequence by looking for a current spike on your shooter motors. You could consider adding a sensor

1 Like

The wait after the first and second shots are probably than they need to be before moving. With PathPlanner we also needed to move the shooting commands into our path as events, so we saved time by shooting while getting to the spot we needed. So you might be able to save a small amount shooting in motion (between 3rd & 4th would be possible). I think for going faster having vision odometry corrections lets you push more acceleration without getting too far afield. Especially with a wider intake so you don’t have to be quite as accurate.

edit: Here’s an example https://photos.app.goo.gl/4QjtmpaE2PWyhUR99

1 Like

Choreo helped my old team a lot here.

if you have logic that’s detecting if the four bar is in the right angle range you could be experiencing a loop where its just outside the tolerance, if you guys have a hard stop up at the sub woofer position its possible its quicker to just bing bang the four bar from intaking to subwoofer and do a quick subwoofer auto like we do in our 5 piece

1 Like

So 4152 developed a 5 piece auto before Ontario Champs using path planner autos and named commands. lots of fine tuning of various parts was required to achieve it.
5 Piece Auto: https://youtu.be/LDwBNWB-MBo?si=288IsBzbNXbU7jVa

Probably one of the biggest things was reducing the wait time when a shot was taken. Our shoot command counts 0.2s after it starts feeding the note to the shooter and then ends the command. This was originally 0.4s before trying for a 5 piece. For the 4 stationary shoots we take this saved 0.8s of the auto. This probably could be reduced a little further but we couldn’t push it enough for a 6 piece anyway.

finding the acceleration and velocity limit can also shave alot of time off autos. Particularly acceleration can make a big difference. We did find that higher acceleration would affect our note pickup consistency and we would hit it too fast. To fix that we added constraint zones in path planner to slow down the robot to 2m/s just before the intake touched the notes.

In our case the intake had to rotate 200deg every time goes from shooting to intaking position. This was a bit of an oversight having a intake that had to rotate that much every time but the robot outperformed our expectations this year so we ended up pushing things like the rotation speed to the limit. Since competition we have made it even faster just with learning how to use gravity compensation in motion magic this reduces the time between intaking and shooting. You can see in the video whenever we intake a note we have to wait for the intake to rotate up before we can shoot. Making this fast was important to shaving as much time as possible.

Shooting on the fly was originally going to be its own command to aim at the target and take the shoot when it was a certain distance away but path planner has been so amazing this year. we have about 80-90% success rate using just an event marker that shoots the note while driving. No aiming, no measuring distance. We also use a constraint zone to slow the robot to 1.8m/s while it shoots.

Another minor thing is the shooter stays spun up for all of auto. In teleop it turns off after every shot but it doesn’t really matter since it takes longer to align then spin up the shooter. In auto we want to save every bit of time and most of the time we are basically in the shooting position anyway.

Our shooter is fixed angle which means we can only shoot from the distance of the podium but later in the season we tried raising our trap mechanism slightly Infront of the shooter and found it was able to deflect notes up. This makes the start of auto faster as we can just shoot and move on. Before we had to drive out, shoot, then drive to the next note.
Deflection Test: https://youtu.be/dIAJP7eKqzY

Lastly good odometry is very important for this kind of thing. This auto is all done with only odometry. No vision processing occurs during auto. We used MK4i swerve modules with L2, Kraken drive motors, Falcon 500 steering motors, CANCoders, CANivore, Pigeon2, and the Swerve generator. We found it worked just as well if not better then our custom swerve code.

Future things we want to look at is Choreo, more complex shoot on the fly to make it faster then 1.8m/s, adding vision processing in auto, faster acceleration, Pheonix Pro, faster gearing then L2

1 Like

we were able to do a 5 note somewhat accurately (reduced to 4 note before comps to not get in way of other autos), we could only repeatably shoot from the subwoofer so we had to return there for each shot. Our 4 note was about 11 seconds.

Optimizations:

  • shooter rev’d for the entire time.
  • Shooting the first note before the shooter fully revs bc we rev to a faster speed than necessary to ensure shots, but found success at lowering it for the first shot
  • increasing top speed/acceleration
  • putting intake up while returning to subwoofer and down while going to note
  • assuming the note is intaked and not waiting for a current spike (Theres no point waiting for a note that isn’t there, keep moving)
  • assuming the note is shot and not waiting for a current spike (It’s probably shot)
  • increasing the speed of the intake pivot
  • choreo paths

For you the main thing I see is that your mechanism moves quite slowly, you should be able to increase the speed of it. Probably reduce the kD value if you are using a PID loop as it looks like it slows down way before it gets to the value.

Also you are waiting for a while after you shoot. You can always continue shooting while you start moving to ensure the note is out of the robot (even if it doesn’t go into the speaker).

Its also worth taking a video of it and timing out each action to see which ones take up the most time and spend the time to optimize those.

3 Likes

As others have said, a lot of it is just figuring out how to optimize every movement as much as possible.

You can see many of our 6 note paths here. - Spectrum 3847 | Build Blog 2024 - #464 by EmilioP

Robot mechanism matters as well, we built our launcher to be able to spin up quickly, and having an under-bumper intake means we aren’t taking any time to deploy it. Our first 2 notes are shot within the first 2 seconds of our paths.

5 Likes