Skip to content
CrocoDocs
Starter GuideProgrammingEngineeringDesignPortfolio
Documentation

Introduction

IntroductionBIOBUZZ game overview

Getting started

Getting startedBlocksOnBot JavaAndroid StudioYour first OpModeJava basicsMotors and servosNonblocking codeDebugging robot code

Control systems

Control systemsJoystick mappingField-centric mecanum drivePID controlFeedforwardFlywheel velocity controlSystem identificationMotion profilingKalman filterLow-pass filter

Autonomous

AutonomousTimed and encoder movementOdometryLocalization troubleshootingMotion planningReliable autonomous sequencesPure PursuitSensor fusionAuto to TeleOp handoff

Season topics

Season topicsProjectile mathematicsTurret aimingShooting on the move

Code practices

Code practicesNaming conventionsCode organizationLoop timing and bulk readsFormattingComments and documentationTeam collaboration

Libraries

LibrariesNextFTCFTCLibSolversLibPedro PathingRoad RunnerFTC DashboardMercurial v2Mercurial v1PanelsSloth

Community software

Community softwareBlaze FTCOpenLoopHive Vision

Sensors and vision

Vision overviewVision basicsLimelight 3A
Starter Guide
Engineering
Design
Portfolio
Appearance

Season topics

Apply robot programming and physics to game tasks, starting with projectile motion and shooting while driving.

Some programming problems come from the game itself: where a piece needs to land, how a scoring target moves, or whether the can keep driving while it scores. These guides connect those tasks to measurements, maths, and robot code.

Shooting

Start with a repeatable shot from a stationary robot. Use projectile mathematics to estimate a useful launch speed and angle, then replace guesses with measurements from your own launcher.

Shooting on the move adds the robot's velocity, release delay, and launcher position. It includes a small helper and a calibration method for teams using a flywheel and adjustable hood.

Turret aiming converts a field target into a reachable angle, including an offset pivot, zero, gearing, and cable limits. Establish flywheel velocity control and recovery before coupling aim to automatic feeding.

For BIOBUZZ, calibrate both ball sizes and test the HIVE positions you plan to shoot at. A change in the opening's height or angle can change the shot. Use the season overview for game context.

Before you tune

The launcher should feed consistently, reach its requested speed, and recover between shots. PID control covers feedback; testing and reliability helps you compare changes. Adding more compensation code will not fix a loose hood or inconsistent ball contact.

Auto to TeleOp handoff

Carry a pose between OpModes without accepting a stale position or resetting the field heading

Projectile mathematics

Estimate launch speed, angle, and flight time, then calibrate a real FTC launcher with measured shots.

On this page

ShootingBefore you tune