This year, for Rover Ruckus, we decided that for once, we want to be able to do every task possible. Following our design principles of PRE (Practicality, Reliability, and Efficiency) and FRAME (Frame the problem, Research all possible solutions, Analyze the best solution, Model the design/Make a prototype, and Execute the design), we have constructed this years robot.
For autonomous, we start by descending from the lander using our worm gear lift. While the robot is going down, it captures an image of the sampling minerals in front of it. We take that picture and by using a custom algorithm that we made, we can run pixel analysis to determine the layout of the three elements. The next step is having the program decide the route to run based off of the results from its identification. Knocking the gold mineral from its place, we will then either drop our marker or will park on the crater, all depending on what position we start on. For the marker, we used a tennis ball container. We cut it up, added some tape, then painted the whole thing in order to be simplistic. The object is held onto the robot by a bar that rotates on a servo to release. When parking, we have a fiberglass, double extension, stick, ensuring that we can get the distance. Something that we were able to do was to make a system that would allow us to record our autonomous routines by driver control in a teleop program. Once the recordings are done, it stores the recorded data and automatically convert it into our autonomous routines. This makes modifying our autonomous code very simple since instead of guessing and checking with changing values, we can simply just make a new recording in less than a minute, having the robot do the software changes for us.
Our parking stick (the orange rods above) Folds itself up to store away and unfolds itself when in use. To demonstrate how much distance we have with it, it can reach from the lander to the crater. The purpose of that was to be able to get points for ascending and parking, but FIRST later ended that ability in an update to the rules. Now we use it solely for autonomous, all with the hopes that we can park after starting from either the lander or crater side of the field.
During teleop, we use a combination of a horizontal slide and a vertical lift system to get minerals from the ground or crater into the lander. The horizontal slide goes outwards, extending the hopper on top of it. When extended, the hopper rotates downwards, giving us the ability to drive around to pick up the game elements. The omni-wheels on the bottom of the box allows the assembly to move side to side, as well as forwards and backwards, without damaging the mats. The surgical tubing pulls balls and blocks into the hopper and holds them there until we reverse the spin, causing the minerals to be sent outwards. The vertical lift is a dual system, made up of two sets of slides on either side with each being strung up. The braided Kevlar string is routed to one motor so that it only takes up one of our eight total motors. This system is fast and reliable, granting us the ability to make somewhere around five runs of two minerals to the lander. We are currently working on having the slide not only go out and in, but also backwards, moving the elements through our entire robot so that we don't have to turn around in our runs.
Our endgame routines are fairly simple; keep scoring minerals and ascend. To ascend, we strafe onto the lander hook and climb by pulling in the worm gear lift located on the back of the robot.
One thing we did for the Virginia state competition was that we gave the robot the ability to move the horizontal collection slide both into the crater and backwards outside of the bot in the opposite direction to deposit minerals in the depot. This will hopefully save us some time now that we do not have to turn the robot around every time we want to go from the crater to the lander.
Above is a model of our robot that we have been working with the entire season. CAD is a very important aspect in our design and build of our robot each year. We keep one general assembly of the robot updated in order to be able to be able to prototype in a virtual space before setting out to make a physical version.