Chomper is our Spike Prime robot. This is version 2.0 of last year's Chopper. We completely reconstructed it from the ground up to make it better suited for the missions ahead. The wheels are larger in diameter which makes Chomper faster because the wheel rolls more for every degree the motor spins. They are also thicker for more traction. In addition to the two wheels we also have two ball bearings in the back to better balance a load on the robot. The wires for our two light sensors and four motors are all contained in the center of the robot. We also have many strong attachment points for passive attachments.
To make our code clean consistent and quick we use MyBlocks. (Link above to all our MyBlocks)
This set of MyBlocks was used to follow lines on the field but it hasn't been helpful since this year there aren't long enough lines to follow that would be helpful.
We also Use this MyBlock to square on lines and make sure we're straight. It moves motors until the sensors are perpendicular to the target line.
We also use Turn By Gyro which uses the built in gyro sensor to make accurate turns.
During the season, we realized that the Turn By Gyro wasn't tank turning so we changed the MyBlock to have a set turning speed with a ratio for tank turning.
Finally, we have a set of straight line gyros that use the robot's yaw angle to keep it driving straight. Reverse for backwards, snail for slow, and speed for general movement. The steering is based on the yaw angle so when it changes the steering also changes. Unfortunately, we can't make is based on degrees because of block coding's limitations. Hopefully we'll have a Python version soon and we can share it with the rest of the world.
We use jigs to line up our robot and eliminate human error so our code is the only variable. This jig has 3 lineups built into it.
V1
Weak
1 lineup
inconsistent
East Jig
uses angled pieces to start the robot at an angled position
We use lots of arm attachments because they can push, pull and press in many different ways depending on how you use them.
This attachment is used for releasing the shark, flipping up coral buds (in 2 missions), and knocking down the flag in send over the submersible. The slanted prongs push the shark and coral nursery buds because both missions require either a slanted push or a vertical press. to be completed. We also had to expand the tip of the arm for more room for error when flipping up buds and extend the prongs down so the robot doesn't use the shark as a ramp.
This attachment uses an onboard jig to align the robot with the artificial habitat mission and deliver the shark. The arm pulls on the cage to raise it into a position worth 30 points. We needed to add a flexible Lego piece for more grip and shortened the gap in the jig because it was too wide to effectively align the robot with artificial habitat. The added part on the attachment you see below is to pull the trident out of its holder.
This is our most basic arm attachment but it is used in the most unique way. We lower it onto the sonar and pull it back to reveal one whale, then we raise it, turn and lower it again to push the sonar off the other whale.
This attachment is used to drag the boat into our home space. It uses our 2nd universal base because it attaches to the back motor which has a different kind of orientation.
For this combo of missions we have a passive attachment that collects the chest and raises the mast. We started with slanted beams to lift the mast as Chopper moved forward. After that was done we added a wedge that could lift the kraken and a jig to line it up. that attachment took a lot of force and didn't always work so we swapped to a passive attachment that lifts the kraken similarly to how we raise the mast. We then use our motor to pull it out.
We call this attachment the chirp. It somewhat resembles an onboard jig but it doesn't act like one. It has a beam on the side to push the unidentified creature into the cold seep and knock the angler into position. At first it was getting in the way of the rest of the program after it served its purpose. To fix this we removed the second beam on the right because it wasn't doing anything. We also removed one of the pegs that holds the second beam on the frame. This allows the attachment to fold after its job is done.
In order to keep our runs consistent, we have to clear the field so Chomper doesn't get knocked off course while rolling over a Lego. To do this we made a claw to sweep the pieces away. It worked fine at first but we decided to switch to a more consistent method using beams that let in pieces and don't let them out.
This is the robot board that we took to competition!