百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
F

FtcRobotController

> 编程语言
开源

FTC Android Studio 工作空间,用于在 Android Studio 中编程机器人

1.2K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

FTC Android Studio 工作空间,用于在 Android Studio 中编程机器人

NOTICE

This repository contains the public FTC SDK for the BIOBUZZ (2026-2027) competition season.

Welcome!

This GitHub repository contains the source code that is used to build an Android app to control a FIRST Tech Challenge competition robot. To use this SDK, download/clone the entire project to your local computer.

Requirements

To use this Android Studio project, you will need Android Studio Narwhal 3 Feature Drop or later.

To program your robot in Blocks or OnBot Java, you do not need Android Studio.

Getting Started

If you are new to robotics or new to the FIRST Tech Challenge, then you should consider reviewing the FTC Blocks Tutorial to get familiar with how to use the control system:

      FTC Blocks Online Tutorial

Even if you are an advanced Java programmer, it is helpful to start with the FTC Blocks tutorial, and then migrate to the OnBot Java Tool or to Android Studio afterwards.

Downloading the Project

If you are an Android Studio programmer, there are several ways to download this repo. Note that if you use the Blocks or OnBot Java Tool to program your robot, then you do not need to download this repository.

  • If you are a git user, you can clone the most current version of the repository:

            git clone https://github.com/FIRST-Tech-Challenge/FtcRobotController.git

  • Or, if you prefer, you can use the "Download Zip" button available through the main repository page. Downloading the project as a .ZIP file will keep the size of the download manageable.

  • You can also download the project folder (as a .zip or .tar.gz archive file) from the Downloads subsection of the Releases page for this repository.

  • The Releases page also contains prebuilt APKs.

Once you have downloaded and uncompressed (if needed) your folder, you can use Android Studio to import the folder ("Import project (Eclipse ADT, Gradle, etc.)").

Getting Help

User Documentation and Tutorials

FIRST maintains online documentation with information and tutorials on how to use the FIRST Tech Challenge software and robot control system. You can access this documentation using the following link:

      FIRST Tech Challenge Documentation

Note that the online documentation is an "evergreen" document that is constantly being updated and edited. It contains the most current information about the FIRST Tech Challenge software and control system.

Javadoc Reference Material

The Javadoc reference documentation for the FTC SDK is now available online. Click on the following link to view the FTC SDK Javadoc documentation as a live website:

      FTC Javadoc Documentation

Online User Forum

For technical questions regarding the Control System or the FTC SDK, please visit the FIRST Tech Challenge Community site:

      FIRST Tech Challenge Community

Sample OpModes

This project contains a large selection of Sample OpModes (robot code examples) which can be cut and pasted into your /teamcode folder to be used as-is, or modified to suit your team's needs.

Samples Folder:    /FtcRobotController/src/main/java/org/firstinspires/ftc/robotcontroller/external/samples

The readme.md file located in the /TeamCode/src/main/java/org/firstinspires/ftc/teamcode folder contains an explanation of the sample naming convention, and instructions on how to copy them to your own project space.

Release Information

Version 12.0 (20260907-090034)

Breaking Changes

  • The new AprilTag Cluster capability breaks legacy AprilTag OpModes resulting in compile errors for software that uses AprilTagDetection objects in both Android Studio and OnBot Java.
    • Legacy AprilTag OpModes must be updated to check whether the returned AprilTag is a cluster or singleton, and cast the returned detection into the correct type to access its elements. See below:

      Old method for AprilTag processing

       for (AprilTagDetection detection : currentDetections) {
         // Do single Tag processing here  
       }

      New method for AprilTag Singleton/Cluster processing

       for (AprilTagDetection detection : currentDetections) {
         if (detection instanceof AprilTagSingleDetection) {
           AprilTagSingleDetection singleDet = (AprilTagSingleDetection) detection;
           // Do single Tag processing here  
         } else {
           AprilTagClusterDetection clusterDet = (AprilTagClusterDetection) detection;
           // Do cluster Tag processing here  
         }
       }

      For more information about how to update your OpModes to fix the breaking change see: https://ftc-docs.firstinspires.org/apriltag-clusters

    • About AprilTag clusters:

      • Clusters are co-planar groups of two or more AprilTags wherein the position of each member tag is defined relative to a common origin
      • This origin may be placed outside the bounds of the tags themselves to provide a more suitable "aiming" target
      • Clusters are resilient to partial occlusion. Full 6DOF pose can be estimated from a cluster even if only a single member tag is visible. Of course, the more tags that are visible, the better and more stable the pose estimate will be
      • All AprilTag samples have been updated to differentiate between standalone tags and clusters

Enhancements

  • Adds a tree view for robot configurations issue 1821
  • Gamepad indicators on the Driver Station are now colored orange if the respective gamepads are connected to the Android generic gamepad driver instead of the Driver Station's usermode USB driver
  • Updated AprilTag Library for BIOBUZZ. Notably, getCurrentGameTagLibrary() now returns BIOBUZZ tags.
    • In BIOBUZZ, the Origin of each cluster is located in the center of the Cell opening for easy aiming.
    • The Origin X,Y & Z Axes are now displayed by default on the preview image.
    • Unfortunately, since BIOBUZZ AprilTags move, they are not suitable for absolute Field Localization.
  • Supports OctoQuad MK2 firmware v3.1.0, which adds diagnostics parameters for the IMU and MCU uptime

Bug Fixes

  • Fixes issue 2078 where battery voltage was not updated on driver station if OpMode did not send any telemetry.

Version 11.2.1 (20260724-093406)

Bug Fixes

  • Fixes issue 2099. Gradle and the AGP are now updated to 9.1 and 8.13.2 respectively.

Version 11.2 (20260707-102819)

Breaking Changes

  • Gradle is upgraded to v9.1 and the Android Gradle Plugin is updated to v8.13.2. AGP v8.13.2 requires Android Studio Narwhal 3 Feature Drop or later. Earlier versions of Android Studio will fail to sync the project. Older versions of Android Studio may prompt the user to downgrade AGP. Do not do this. Gradle v9.1 removed support for features that older versions of the AGP use. Updating Gradle fixes a Windows 11 problem some teams may encounter if they have agressive security software installed on their machine. For more context see this Gradle issue

Enhancements

  • New type of OpMode is now available. (@Utility)
    • Utility opmodes that are not disabled will show up in the Utility menu (requires 11.2 or later DS and RC)
  • TestHardware Utility now available
    • It allows you to test all servos, CR servos, motors, Color sensors, distance sensors, touch sensors, IMUs, webcams, and analog sensors in the config
  • TestGamepad Utility now available
    • It allows you to see the results of your two gamepads to make sure it is what you expect and find problems with your gamepads.
  • Adds methods to PwmControl interface to allow you to setPulseWidth and getPulseWidth
    • Both of these are in microseconds (uSeconds)
    • This is an ADVANCED feature. There is not a supporting sample.
    • NOTE: You may see a slight difference since the hardware is not accurate to the microsecond
  • Adds ability to set UVC camera "quirks" from user code to control compatibility flags used inside the low level UVC driver. Addresses issue 1428
  • Changes Apriltag Axis Display order on camera preview screen, to reflect updated Z axis direction.
  • The Driver Station app init button has a light teal background with the word init if
    • the driver station and robot controller are connected and have the same team number
    • there is at least one gamepad attached
    • the timer is enabled (for an Autonomous OpMode)

Bug Fixes

  • Fixes issue 1949 overwriting the group with the default group when registering a OpMode with OpModeManager.register(OpModeMeta name, Class clazz)
  • Fixes issue mentioned in 1890 where if for a servo you change the direction or scaleRange and send the same setPosition that was sent before, then it wouldn't update the servo.
  • Fixes an issue where Self-Inspect doesn't flag a driver station using -RC in it's name. The message is now:
    • The team numbers in the robot controller and driver station names do not match, or a device name is invalid. Refer to the FTC Competition Manual for device naming rules.

Version 11.1 (20251231-104637)

Enhancements

  • Gamepad triggers can now be accessed as booleans and have edge detection supported.
  • GoBildaPinpointDriver now supports Pinpoint v2 functionality
  • Adds webcam calibrations for goBILDA's USB camera.

Bug Fixes

  • Fixes issue 1654 in GoBildaPinpointDriver that caused error if resolution was set in other than MM
  • Fixes issue 1628 Blocks editor displays incorrect Java code for gamepad edge detection blocks.
  • Fixes possible race condition issue 1884 on Driver Station startup when Driver Station name doesn't match the Robot Controller name.
  • Fixes issue 1863 - Incorrect package paths in samples.
  • Fixes an issue where an OnBotJava filename that begins with a lowercase character would fail to properly rename the file if the user tried to rename it so that it begins with an uppercase character.

Version 11.0 (20250827-105138)

Enhancements

  • OnBotJava now has the concept of a project.
    A project is a collection of related files. A project may be chosen by selecting 'Example Project' from the 'File type:' dropdown. Doing so will populate the dropdown to the immediate right with a list of projects to choose from. When selecting a project all of the related files appear in

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Java

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言