Skip to content

The Java code for controlling a robot through operational modes for the Rover Ruckus robotics competition. Based upon the FTC framework: https://github.com/ftctechnh/ftc_app.

License

Notifications You must be signed in to change notification settings

samuel-engel/ftc-robot-control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java code for the Rover Ruckus robotics competition

FIRST Tech Challenge game for the 2018-2019 season

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

Autonomous mode

tf_detection_webcam.java || Main Autonomous

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.






Teleoperational modes (TeleOps)

single_joystick_drive.java || Main Drive

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.java || Tank Drive

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.

collecting.java || Collection, Arm and Pull

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.

imu.java || IMU Sensor

Tests the inertial measurement unit (IMU) sensor to get orientation information from the gyroscope, accelerometer and geomagnetic sensor.

webcam_basic.java || TensorFlow Webcam

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.

movement.java || Turning; Going; Pushing

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.

wall_centering.java || Wall centering

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

The robot on the day of competition, 23 March 2019, in Stuttgart

Developing the Java code for our robot during one of the team sessions

About

The Java code for controlling a robot through operational modes for the Rover Ruckus robotics competition. Based upon the FTC framework: https://github.com/ftctechnh/ftc_app.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages