Robot

Resources

Community

Business

Robot

Description

Robot

CB5 "Discus Maximus" is a 6 wheeled differential drive fully-featured Ultimate Goal robot. It has a custom REV chassis with a full-width rubber band flail intake with printed 35mm vector wheel serializer and uplift mechanism. A stacked hopper with servo feeder is attached to an articulating-pitch shooter frame which contains a 3-wheeled, 2-motor shooter utilizing REV extrusion for maximum adjustability of pinch and allows for easy change of experimental pinch profiles. The same shooter frame also includes a sliding Wobble Goal grabber in an effort to combine and simplify mechanisms.

CB5 currently utilizes around 8 REV HD motors, 6 Smart Servos, 3 touch sensors, a REV potentiometer, REV Blinkin LED driver (for state feedback), a Logitech C270, and a V3 Color Sensor.

Design

After the FTC Ultimate Goal challenge was released, our team spent 6-7 weeks designing the robot. We decided to find out the quickest and most efficient way to play the game by thoroughly reading the game manuals and discussing all actions and their respective point values. We did this by discussing a reasonable amount of points we can acquire in both modes of the game. Once we decided what aspects of the game were most important to us we used a pugh matrix and narrowed down many of the robot concepts we came up with. We then started brainstorming for ideas on a whiteboard and once we decided on a rough sketch, we all worked to create intricate CAD designs.

Robot Design

Build

After we designed the robot we separated the build team into 3 separate sub-teams. The first team would build the chassis which consists of a 6 wheel differential AWD and the frame of the robot. The second team worked on the intake and uplift system. They prototyped different types of intakes such as a silicone tube or a bunch of rubber bands. They would also make the system that would transfer the rings from the intake into the hopper. The third team works on the shooter and the wobble goal grabber. After the sub-systems were built we assembled the robot. During the build season, we create upgrade packages using the WTF (What To Fix) list.

Robot

Programming

Teleop/Driver Controlled

This year we transferred to blocks after using Java for many years because we lost a few members who had a lot of programming input. This gave the students a great opportunity to learn alongside the mentors and learn code from the basic outline. The students could learn not only what small pieces of code to use for certain functions, but also what each piece of code meant and the logic behind it. For example learning how to program velocity and tell the shooter angle adjustment to slow down as it nears the downstop to avoid a hard collision, and how the robot is constantly sending signals back and forward and adjusting. We could break down the function of each piece of code relating to each part of the robot and its functionality towards things like awareness of position and surroundings. Programming wasn’t always learning though, sometimes we had a little fun with Star Wars sounds.

Autonomous

We have different capabilities in Autonomous depending on the number of rings on the field at the start. If there are 4 Rings at the start, we score 7 rings into the high goal, place the wobble goal in the respective zone, and park. If there is 1 ring at the start, we score 4 rings into the high goal, Place the wobble goal in its respective zone, and park. If there are 0 rings at the start we score 3 rings into the high goal, Place both Wobble goals in their respective zones, then Park. When we were programming the robot we used Telemetry data (shows up on phone) to check if everything was working properly. For example we could see if the shooter angle was correct when the robot shoots rings. This helped in many ways as we could see if there was an error made in code. We used TensorFlow to figure out how many rings were in front of us. In the code we made sure that the robot has to be 70% sure that what it’s seeing is the correct number of rings for it to execute the Auton Routine. This is important because if we had a low Percentage it would just think anything to be a ring and if we had a very high percentage it had a low chance of noticing the rings.