FTC Kickoff 2025
10435 Circuit Breakers
Getting Started with JAVA Programming
Android Studio setup and Github
QR code for slideshow
Presenters
10435
What you will learn today
10435
The main components
10435
Be aware of
Start Here - FTC doc site
https://ftc-docs.firstinspires.org/
“Getting Started” section has links for:
Click on the Android Studio Resources in the left column links. Here you will find “Android Studio Tutorial”. The examples for installing are out of date, but other info here should be read.
10435
FTC 10.3 SDK Release
https://github.com/FIRST-Tech-Challenge/FtcRobotController
Step List (link to slide)
Setting Up Android Studio
STEP 1
Setting Up Android Studio
10435
The search term you should use is “Android Studio”
Or you can enter this to go directly to this page
https://developer.android.com/studio
1.
2.
1.
2.
3.
Creating/Linking a GitHub Account
STEP 2
Switch to Chrome
Github
Start/Switch to Android Studio
Downloading and Opening the FTC SDK
STEP 3
Switch to Chrome
Right Click
Go to Android Studio
Rename to your desired project name
Then click Select Folder
Sharing project on GitHub
STEP 4
1. Click "Terminal"
2. Execute these commands:
git config --global user.name "<your name>"
git config --global user.email "<your email>"
Your name and email do not have to be the same as your GitHub account
3.
1
2
4
4 - This can identify you personally and does not need to be the same as your github account
5
3
Go to Github Website
Finished!
Folders
Code
Device
Run Code
Once you have made changes…
How to push your changes to GitHub
TeleOp and Autonomous
10435
Programming Resources
Learning Java (basics, not FTC related)
Learning Github and Git
10435
Java (from teams, coaches, vendors)
Learning Android Studio (non FTC)
Advanced Concepts
10435
Understanding Electrical/Mechanical Timing Delay
Electrical and Mechanical Timing Delay is a problem that affects every moving part in an FTC robot. These delays must be dealt with when coding your FTC robot, in order for your robot to perform or function precisely.
Two types of mechanical delay are caused by
Electrical delays are caused by (this is oversimplified)
10435
PID
PID, or Proportional Integral Derivative, is a control loop system where changes are continuously made based on the feedback it receives.
P - Present error- Start at 100% and gradually decrease the speed until there is no error in the system and you have reached the desired output.
I - Past error- Will increase/decrease the speed until it reaches zero error.
D - Prediction of future error- Measures how fast the error is growing or shrinking and increasing or decreasing the speed to compensate.
Why you need it: PID is helpful in correcting errors and controlling the speed of your robot, especially in sudden changes like acceleration at a fast pace.
10435
Odometry and Location Algorithms
Odometry refers to the use of rotational readings from wheels to figure out the robot’s change in position and heading. This is usually done by reading the rotational values of two or three omni wheels (usually deadwheels) and performing calculations using a code library on the readings to determine the change in location.
Why do you need it:
If the code can know where the robot is on the field and control precisely where it will go, you can write amazing Autonomous routines and even some driver-assist functions in Tele-Op
See links at end for pathing (how to tell your robot where to go)
10435
Vision/Recognition
Vision on an FTC robot can have many applications. Every one of those applications starts with a camera.
Vision plays an important role in nearly every FTC Season.
Teams have also used vision to determine and control the robot’s location and angle relative to a target. Check out team 14481 Don’t Blink following a ring with Vuforia: https://www.youtube.com/watch?v=_Hxn4fzfN7k
10435
Advanced Programming Resources
Understanding PID
Odometry - needs updates
PID Programming
Vision - needs updates
10435
How these Concepts Relate to Build
Concept Application:
PID- Wheels and Motors
Odometry- General Chassis
Vision/Recognition- Camera
Electrical/Mechanical Timing Delay-
Full Robot
10435
How to Integrate Team Roles into Planning
10435
QR code for slideshow
Thank you for listening!
10435 Circuit Breakers