Our motors are specifically positioned to enable easy access if they need to be switched in the case of overheating. The chain spread throughout the outermost frame of the H-Chassis gives enough distribution and power needed for the wheels to work in their respective fashions. We chose the overall frame to be an H-Chassis because of its unique maneuverability and free space for components in the back. This shape also supports the weight of the arms and slides, distributing equal amounts for optimal stability.
The grabber utilizes two servos, one to rotate the grabber mechanism, and the other to grab the block. This allows the driver to freely rotate the block in any orientation, allowing for quick and efficient block placements. The grabber arm itself employs rubber bands for increased grip and consists of a cleverly constructed washer and spacer system to allow for flexibility when gripping the plastic.
The arm consists of two sets of slides---a vertical one and a horizontal one. The vertical slide is made up of the classic REV extrusions. It uses a two motor pulley system to extend and retract the slides.
The horizontal slide is mainly made up of goBilda parts, featuring a very underrated type of slide system: the goRail slides on the V-wheels. The vertical slides use a linear actuator with the goBilda rails, set in motion by a single servo. On the tip of the goRail is a grabber used to grab the "stones", which are the main scoring mineral for this year's event. The horizontal slide enables us to have complete freedom over the placement and movement of the block, as well as extending our range of motion.
In order to hook onto the Foundation, we designed a simple hook powered by a servo to latch onto and move the Foundation around. The hook is made with a servo, a servo hub, two square beams, and a small plate. The servo hub connects the square beams to the servo and allows the entire assembly to pivot up and down. When lowered, the hook latches onto the lip of the Foundation, and drags it along with the robot. The plate provides more surface area for the hook to make contact with the plate in order to make the hook more secure. This design is unique as it is very simple to build and operate and works excellently.
Our intake system is composed of 2 grippy wheels attached to servos that make them spin. In order to accommodate for the block’s volume, one of the wheels is strung and attached with rubber bands to make it flexible. The point of the intake is to make the block easier to access and pick up without moving around as much.
Autonomous is the 30 second period at the start of the match in which the robot can only move using pre-programmed controls. We can detect the SkyStones and where they are during autonomous using Google’s open source machine learning, TensorFlow. By using the phone camera and linking it to TensorFlow that is trained to detect different Stones and Skystones, we can tell the robot which way it needs to move to get to them. Since the field is a 6x6 square of foam tiles, we can define each point in a coordinate system. If we know where we currently are, which way we’re facing, and where we want to go, we can tell the robot to move to that set of coordinates. This makes it easier to program as well since we can just tell the robot to move to (6,6) which happens to be where the red team building site is, or we can tell it to move to any other point without having to count how many tiles it is and manually tell it to “move 24 inches forward, move 30 inches to the left”.
TeleOp is the 2-minute period that happens right after autonomous and lasts the rest of the match. During TeleOp, drivers take control of the robot and tell it where to go. Since we have two drivers, we can use two different controllers and have each button perform a different function. For example, the first driver can use the controller to move the robot around, but the second driver uses those same controls to move the arm on their controller. This leaves us with many different buttons where each can have its own specific function. If you think about this like a video game, it’s just up to the drivers to know what buttons to press and when to press them. We also set up some functions that aid the drivers and prevent from doing certain things or make their lives easier while performing other actions. For example, the drivers won't be able to move the slides past the maximum distance it can go, which will prevent them from breaking the strings.