This year our process of designing our robot has been very thought out. We spent almost two weeks designing, planning, and analyzing every game’s strategic aspect. Our robot is designed with efficiency in mind and minimizes time spent intaking and out-taking. Our intake is a pass-through intake instead of a claw so we can get in and out of the terminal very quickly and not be in the way of teammates. We accomplish this efficiency with compliant wheels on flexible mounts that pull the cone into a slot in the middle of the robot. Our outtake mechanism picks up the cone from inside the robot and has a chain-driven flipping bar that lets us deliver on the other side from the intake. A servo allows for a “wrist-like” movement and lets us orient our cone in any way. Our drivetrain has 4 Omni wheels and is powered by vertical motors that allow for maximum space efficiency.
Our 2022-2023 Season Process
Process
Software
Our MethodTestProgram, used to systematically test and log the results of every one of our methods to effectively maximize our productivity.
We combine individual methods into larger ones like this to run several functions of our robot simultaneously while also providing options by passing in variables to determine which position we run to.
We isolate a certain aspect of our robot based on our needs in order to isolate errors and expedite the debugging process, passing variables into these smaller ones to run the motors based on certain commands.
We use a stage switching pipeline to be able to use the same method to run three functions of the camera. It’s a switch-case statement that determines whether to scan the cone’s color, search for the calibrated color, or read the QR code on our signal sleeve to determine which of the three parking zones to end the autonomous period in.
We pass our hardware map into its respective methods so that the only methods that need access to anything have said access. This is one way we isolate errors by keeping outside methods from changing any values of other features.
This is a split resistor circuit that returns zero volts as long as the force sensor is not in contact with anything else because we are reading the voltage between the two resistors (that means we basically read the voltage of the second half of the circuit). The first resistor, when not pressed, has a very high resistance, letting almost none through to be read. However, once it is pressed, the resistance lowers and the output voltage rises. We have two of these on our robot, one on our claw, and the other on our alignment arm used in auto to score the cones consistently. When the force sensor on our claw is pressed, the claw automatically closes as long as our lift is in the scoring position and the force sensor on our auto alignment arm is used to tell us when we are ready to drop the cone in auto.