CrocoDocs
CrocoDocs

Introduction

What is CrocoDocs?Season Breakdown

Getting Started

Programming in FTCJavaBlocksAndroid Studio

Control Systems

IntroductionJoystick MappingPID ControlMotion ProfilingKalman FilterLow-Pass Filter

Autonomous

IntroductionTime vs Encoder-Based MovementOdometryMotion PlanningPure PursuitSensor Fusion

Codebase Etiquette and Good Practices

IntroductionNaming ConventionsCode OrganizationComments and DocumentationTeam Collaboration

Libraries

LibrariesNextFTCPedro PathingFTC DashboardMercurialPanelsSloth

Sensors and Vision

Vision OverviewVision Basics

Introduction

Learn to create reliable autonomous routines using path planning, localization, and sensor-driven decision-making

What is Autonomous Programming?

Autonomous programming is the art of making your robot operate independently without driver input. During the 30-second autonomous period in FTC matches, your robot must navigate the field, detect game elements, and score points — all on its own.

Unlike driver-controlled periods where you're constantly adjusting, autonomous requires your robot to:

  • Plan paths from start to finish
  • Localize itself to know where it is on the field
  • Make decisions based on sensor data
  • Execute tasks precisely and repeatably

Why Autonomous Matters

In FTC DECODE (2025-2026), autonomous is worth significant points:

  • Delivering ARTIFACTS to the OBELISK
  • Detecting MOTIF patterns with AprilTags
  • Parking in designated zones
  • Setting up for driver-controlled period

Teams with strong autonomous routines consistently outperform those without, often winning matches before the driver-controlled period even begins.

Core Concepts in Autonomous

Motion Planning

How your robot decides where to go and what path to take. This includes:

  • Straight-line movements vs curved paths
  • Staying within boundaries
  • Timing movements with mechanism actions

Localization & Odometry

How your robot knows where it is on the field:

  • Dead reckoning (encoders, IMU)
  • Sensor fusion (combining multiple data sources)
  • Visual localization (AprilTags, computer vision)

Control & Execution

How your robot follows the plan accurately:

  • PID controllers for precise movement
  • Motion profiling for smooth acceleration
  • Pure pursuit for curved path following

Building Your First Autonomous

Here's what you'll learn in this section:

  1. Time vs Encoder-Based Movement — Start simple before going advanced
  2. Odometry Basics — Track your robot's position on the field
  3. Motion Planning — Choose the right path planning method
  4. Pure Pursuit — Follow smooth, curved paths with precision
  5. Sensor Fusion — Combine multiple sensors for better accuracy

Autonomous Strategy Tips

Start Simple, Then Optimize: Your first autonomous doesn't need to be complex. A reliable 2-3 task routine beats an unreliable 5-task routine every time!

Development Process

  1. Plan on paper first — Draw your robot's path on a field diagram
  2. Start with time-based — Get basic movement working
  3. Add encoders — Make movements more consistent
  4. Implement odometry — Start tracking position
  5. Use vision — Detect game elements and align precisely
  6. Test, test, test — Practice matches reveal issues early

Competition Priorities

Early Season (Weeks 1-4):

  • Time-based movement to scoring zones
  • Basic game element detection with color sensors
  • Simple parking routine

Mid Season (Weeks 5-8):

  • Encoder-based precise movements
  • Dead reckoning odometry (2-wheel or 3-wheel)
  • AprilTag localization for alignment

Late Season (League Championships):

  • Full path following (Pure Pursuit, Road Runner)
  • Sensor fusion for robust localization
  • Multiple autonomous routes based on alliance color and randomization

Common Mistakes to Avoid

Complex autonomous on day one — Start simple, add complexity gradually
No testing on actual field — Carpet type, battery voltage, and lighting all affect performance
Hardcoded delays — Time-based waits are unreliable; use sensor feedback when possible
Single autonomous route — Always have a backup plan if vision fails
Ignoring initialization time — Robot takes time to initialize; account for this in planning

Next Steps

Ready to build your autonomous routine? Start with Time vs Encoder-Based Movement to understand the fundamentals, then progress to Odometry for position tracking!

Low-Pass Filter

Simple and effective sensor smoothing technique

Time vs Encoder-Based Movement

Understanding the two fundamental approaches to autonomous robot movement

On this page

What is Autonomous Programming?Why Autonomous MattersCore Concepts in AutonomousMotion PlanningLocalization & OdometryControl & ExecutionBuilding Your First AutonomousAutonomous Strategy TipsDevelopment ProcessCompetition PrioritiesCommon Mistakes to AvoidNext Steps