Hello SSL Community,
The Bots would like to submit a new ball receiving method using the existing kicker solenoids found on most SSL robots for the Open Source Award. Officially, its title is Solenoid Active Damping, which refers to the method by which a ball is damped - using the electromechanical energy found on robots with active control of the kicker solenoid to stop the ball. This method completely decouples the ball receiving damping needed from the ball dribbling damping needed, where the one tends to affect the other.
In general, SSL robots that use a capacitor based kicker board have a significant amount of energy sitting unused during the receiving of a pass. That energy can then be used to keep the kicker extended after a short kick at the exact threshold where the kicker would otherwise collapse with any extra applied force. You can imagine the solenoid active damping similar to when one stops a soccer ball by pulling their foot back to absorb the energy as the ball gets to their feet. In a similar way, the solenoid is held with minimal possible force so that when the golf ball contacts it, the energy is almost completely damped as the wall collapses from under it.
In the repository below, you can find the detailed documentation (as a README file) for the Solenoid Active Damping system with relevant code used for our RP2040 on the Chicker board in micropython. The important takeaway from this code is not the exact syntax shown in micropython for the RP2040, but rather the concept of how the implementation is formed - this is because each team's kicker boards will differ based on the chip used.
You can find all the documentation, relevant code for the RP2040, and videos from later testing (not on the TDP) here:
https://github.com/sfunderbots/Electrical/tree/main/Chicker/solenoid-active-...
Associated full code for the RP2040 on The Bots Chicker board here for reference:
https://github.com/sfunderbots/Electrical/tree/main/Chicker/firmware
Note that the code shown here is not the most recent version - the latest includes a fix to compensate for the voltage on the high voltage net lost over time, which is described in the README.
We hope this open source system will help new teams wanting to keep cost and complexity of their robot low, by utilizing already existing hardware from the robot's kicker board used to kick a ball to be used in reverse. Subsequently, this system also aims to improve pass receiving performance without the need of a dribbler.
Thank you for your consideration,
~Henry Bryant
The Bots