This past year, my team saw major improvements in our cycle time by automating our robot to automatically face forward using heading control in the community using the gyro yaw, only giving the pilot control over translation. Looking at 3476’s driver practice videos, it seems like they also have heading control, since their robot during its cycles rarely changes direction while moving, and turns quickly and infrequently.
Moreover, us and several teams in our district, as well as world class teams like 2910, 2056, 4414, and 1323 utilized apriltags/retro-tape to do an “auto-align” to the grid nodes. I wouldn’t be surprised if teams were doing even more innovative stuff like crash avoidance or skid detection.
What kind of interesting teleop automations do top teams use or are planning on developing, especially now that swerve + apriltags means holonomic motion + accurate odometry throughout a match?
We implemented “snapping” much like an aimbot. The driver would still very roughly align with whatever target they wanted and then press a button to have the robot automatically “snap” to the ideal position for targetting the node they were closest too. This made it very seamless for the driver although it didn’t work perfectly and wasn’t used alllll the time.
On the Code Orange stuff, we had the ability for the driver to select a direction to face on the field via a button press. How much it was used vs the driver being good at moving straight is hard to say, but the function set the direction and did not attempt to keep the heading throughout the move. So if we made contact mid cycle it was up to the driver to correct the heading. With that in mind, we specifically practiced both avoiding unecessary turning and turning early in the cycle to maximize our time at top speed.
*Source: was a mentor and drive coach of 3476 last season.
Software mentor of 6995 here. This is probably the post I save to link to the next time I get to brag about our setup.
Scoring Node Selections.
We scored nearly all of our pieces using an auto-align and score routine. The operator would select the target location on the keypad shown below, and the selection would be echoed on a secondary monitor showing a scoring grid and a match timer. LED strips on the bot would match the color of the selected piece (more on the LEDs later). The selected piece type (hybrids were assumed to be cubes) would affect the arm position and intake configuration for ground intake and HP platform intake, as well as several other poses we didn’t use.
Side note: That many arm positions was probably overkill, we ended up mainly using ground cube, platform cone, and ground upright cone (for grabbing the staged auto pieces at the start of tele.
Auto align.
We used PathPlanner’s on-the-fly generation to plan a straight-line movement to the drivebase target pose for the selected node. This also meant we could change targets while aligning without restarting the command sequence. When the drivebase was close enough (a wider threshold for cubes than cones) the arm and intake would automatically score the piece. Effectively, all the driver needed to do was get to a clear line-of-drive towards the target pose, roughly face the grid, and press A.
Our auto-align and score sequence was reliable enough that many of our auto routines simply use the same operations, and even change the selected scoring location using the same command bound to the keypad.
Intake cone offset adjustment.
We used Playing With Fusion’s CAN time-of-flight sensor to measure cones’ lateral position along our intake rollers. This offset was applied to our auto-align target. Many of our (relatively few) drops were due to alignments that got offset into a field barrier and couldn’t fully complete. Not much we could really do to save that situation automatically.
Intake-triggered auto-stow.
Using a beam break and piece detection by the TOF sensor, we set our arm to automatically return to its stowed position when a piece was acquired, while flashing the light bars and pulsing the intake in to secure the piece.
Light Strips
We used a Blinkin in-season and are switching to on-Rio AddressableLED for off-season. Besides the patterns listed above, we had a white flashing pattern added at Worlds to indicate when the intake sequence was actually running, as well as a rainbow pattern during auto-align.
Other
We also had a heading assist for pickup from the HP platform, and slow field-relative adjustment on the D-pad, which should have been robot-relative instead.
The above was made possible through AprilTag detection on PhotonVision on a Beelink miniPC.