This is the common code base for the Andover Robotics FTC teams. The code base of all three teams will include this library as a Git submodule.
Why do we designate it as a submodule? We would like to introduce new features and fix bugs during the season, and this choice helps teams receive ARC-Core updates more easily.
- Tank Drive and Mecanum Drivetrain implementations with encoder support
- Support for reading files from storage as configuration
- PID controller implementation
- Task System support using BeanShell
- Optimizing hardware wrapper classes like
CachedMotor
- ARC Toolbox: Collection of hardware diagnostic OpModes
This section is intended for the programming leaders of each team.
- Perform
git init
locally to initialize an empty repository - Perform
git remote add upstream https://github.com/OpenFTC/OpenRC-Turbo.git
in order to set OpenRC Turbo as the upstream remote - Perform
git pull upstream master --allow-unrelated-histories -f
in order to pull OpenRC's source code into your local repository - Perform
git submodule add https://github.com/Andover-Robotics/ARC-Core
- Set the
origin
remote to your team's repository by performinggit remote add origin <origin url in either https or ssh>
- Add "ARC-Core" to the Android project by adding
, ':ARC-Core'
prior to':TeamCode'
insettings.gradle
- Set the
minSdkVersion
on line 41 ofbuild.common.gradle
from 19 to 24 - Commit your changes
- Push the local copy to the
origin
remote by performinggit push -u origin master
After your repository is ready, make sure to copy the required resources onto your team's Robot Controller phone:
-
Copy
libVuforia.so
from thedoc
folder of [your] repo into theFIRST
folder on the RC's internal storage -
Because EasyOpenCv depends on OpenCV-Repackaged, you will also need to copy
libOpenCvNative.so
from the/doc
folder of that repo into theFIRST
folder on the internal storage of the Robot Controller -
Copy all of the files found in the
filesForDynamicLoad
folder of [your] repo into the FIRST folder on the RC's internal storage
(For reference, the FIRST folder's full path is /storage/self/primary/FIRST
.)
Throughout the season, the CSOs will push fixes and new features to ARC-Core as necessary. To incorporate a change from this repository into your submodule, execute git submodule update --remote
in your local repository and push the resulting changes to your team's GitHub repository.
If you wish to receive clarification or assistance in troubleshooting a problem, please check the ARC-Core JavaDocs and ARC Software.
The Chief Software Officers of the 2019-2020 season, Michael Peng and Daniel Ivanovich, are eager to help you achieve your best. Feel free to approach them with questions.
You should also join the FTC Discord, where you can receive help from some of the best teams in the world.