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

Autonomous

Build and test routines that run without driver input

Overview

An runs without driver input for the 30-second AUTO period of an match. It can read , move , and make decisions based on its program. The exact game tasks and scoring change each ; see the current season guide and current Competition Manual for those details.

Build an autonomous routine that repeats reliably, stops safely, and handles errors in localization and game-piece interaction. Adding steps can reduce reliability if each step is not tested.

Core concepts

  • Motion planning describes where and how the should move.
  • Localization estimates the robot's pose using , an , , or vision.
  • Control uses sensor feedback to reduce the difference between the desired and measured behavior.
  • Decision logic handles alternate outcomes, such as a missed game piece or a tag that was not detected.

These components affect each other. A path follower cannot compensate for a badly calibrated localizer, and an AprilTag pose is an estimate whose quality depends on visibility and camera calibration.

Learning order

  1. Test individual hardware safely.
  2. Make one short movement and verify direction, encoder direction, and stopping behavior.
  3. Measure localization error before adding long paths.
  4. Add one mechanism action and confirm its timing.
  5. Test repeated runs from the real starting position, with realistic battery and field conditions.
  6. Add fallback behavior and an explicit safe stop.

The following pages cover movement, odometry, path planning, and sensor fusion. They explain general methods; check each library's official documentation before using its API.

Topics

  • Time-based and encoder-based movement
  • Odometry
  • Localization troubleshooting
  • Motion planning
  • Reliable sequences and recovery
  • Pure Pursuit
  • Sensor fusion
  • Auto to TeleOp handoff
  • Current FTC season

Low-pass filter

Smooth noisy sensor readings while understanding the delay you add

Timed and encoder movement

Make a timed move, then improve it with measured encoder feedback

On this page

OverviewCore conceptsLearning orderTopics