Library for easily leveraging in-the-box FTC mechanisms and sensors, including
| Name | Type |
|---|---|
| Arm | Motor Mechanism |
| Claw | Servo Mechanism |
| Drive | Motor Mechanism |
| Intake | Motor Mechanism |
| Lift | Motor Mechanism |
| Trigger | Servo Mechanism |
| Color | Sensor |
| Distance | Sensor |
| Touch | Sensor |
This library greatly simplifies the implementation of common FTC robotics subsystems and features by abstracting away low-level decisions and providing a simplified, façade pattern API. As such, users will only need to use a few methods (command(), control(), and state()) due to a reliance on sane defaults and the builder design pattern
The target audience is beginner-level FTC teams and hobbyists, but even advanced users can elect to utilize easy-ftc à la carte (e.g. leverage easy-ftc for peripheral devices so you can focus on more complex features like motion planning)
- Encoders can be used with minimal setup for either time- or distance-based commands
- The IMU's Gyro can be leveraged with minimal setup for angle-based commands
Arm,Intake, andLiftoptionally feature encoder limits on range-of-motionROBOTandFIELD-centric driving are supported forMECANUMTANKandARCADEare supported forDIFFERENTIAL- Servo-powered mechanisms can optionally leverage smooth-servo control
LiftandDriveoptionally feature gamepad deadzones, mitigating stick/trigger drift- Routine tasks in the TeleOp phase (like a scoring sequence) can be easily modelled via
CommandSequence
Deployed at https://collegiate-edu-nation.github.io/easy-ftc
Cover Getting Started, Examples, Controls, Naming, Diagrams, and the Javadoc
- Each option requires that you download this repo's latest Android archive
- Click on
easy-ftc-release.aarat https://github.com/collegiate-edu-nation/easy-ftc/releases
- Upload the .aar using OnBot Java's GUI
- Press the gear icon on the bottom right with the title 'Build Everything'
-
Add the .aar to
FtcRobotController/libs/ -
Add implementation to TeamCode's
build.gradlelike sodependencies { implementation project(':FtcRobotController') implementation files('../libs/easy-ftc-release.aar') }
- While at the previous link, also click on
myBlocks.zip - Upload the .aar and all relevant Java files from myBlocks using OnBot Java's GUI
- Each Java file in
myBlocks/will control a specific mechanism/sensor
- Each Java file in
- Modify the myBlocks Java files to change behavior
- e.g. add
.layout(Layout.ARCADE)toDrive.BuilderinDrive.java
- e.g. add
- Press the gear icon on the bottom right with the title 'Build Everything'
- A new menu option 'Java Classes' should be visible in the Blockly GUI now
- Each class listed there will provide relevant methods from easy-ftc, like
control(),command(), andstate()