The object of the game is to attain a higher score than the opposing alliance by descending from the Lander, collecting Minerals from the Crater, sorting and scoring Minerals into the Cargo Hold of the Lander, performing Autonomous tasks, and navigating to specific parts of the Playing Field. The Scoring Elements for the game are 60 Silver Minerals and 90 Gold Minerals,and a team supplied Team Marker.
Rover Ruckus one page game description
The main autonomous mode uses the Vuforia engine in combination with a TensorFlow model to recognize in-game minerals in order to detect the position of the gold mineral. The robot uses a combination of preprogrammed movements defined in the movement.java
file to move around the field and score points. It pushes the gold mineral from its default position in the sampling area and navigates into the home depot in the corner of the playing field.
The main drive translates the movements of the right joystick into the power of the two motors used for controlling the robot. The TeleOp also includes the collecting mechanisms established in the collecting.java
file.
Tank drive is an alternative way of controlling the robot movements via a more simplistic tank drive using both joysticks where each one powers one side of the robot's drivetrain.
Establishes the mechanisms for using the collecting and lifting arms. It maps extending and lifting the collector arm, turning the collection servos and using the lifting arm to the second gamepad.
Tests the inertial measurement unit (IMU) sensor to get orientation information from the gyroscope, accelerometer and geomagnetic sensor.
A simple implementation of the TensorFlow model for recognizing the in-game minerals through an external webcam and outputting the relative position of the gold mineral in relation to the silver minerals.
The movement functions allow giving human-like commands without powering the individual motors each time. The direction, power and/or time can be specified to automate the robot's movements.
A proof of concept for using the time-of-flight distance sensor to improve the robot's orientation by facing the wall and turning until the distance to it is minimized.
The code for operational modes resides in ftc_app-master/TeamCode/src/main/java/org/firstinspires/ftc/teamcode