Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
2019 Control System Preview
Introduction
● Tyler Shin○ Programming lead for Ignite Robotics (6829)○ [email protected]
● Miriam Morris○ Programmer for Ignite Robotics (6829)○ [email protected]
This presentation will be available online
https://www.igniterobotics.com/2019preview.pdf
Topics
● Application process● Terminology and concepts● New in 2019 Control System
○ VSCode○ Flexible Build Process○ WPILib○ New configuration tools
● Our 2019 experience
Application process
● Beta program is announced on FIRST blog● Teams submit application by late September● FIRST reviews the applications and selects the teams by early October● Beta testing from mid-October to Early December● No information about the upcoming game
Beta team responsibilities
● Non-disclosure agreement (NDA)● Beta-specific tasks● Provide feedback● Support the community
2019 Control System beta-specific tasks
● Install new software● Update roboRIO firmware● Port existing code to 2019 Control System● Test new features
Terminology and concepts
Terminology and concepts
● Unit testing● Motion profiling
○ Real-time○ Pre-generated
● Version control (Git)● IDE● CTRE● Build process
Build Process
● The process to convert source code into a stand-alone form that can run on the robot
● The process can have one or more steps● Any step in the process can stop the process● Not all steps have to “convert code,” steps can also be…
○ Administrative - sending email notifications○ Team Policies - stopping the build if unit tests fails
Build Process
● The process to convert source code into a stand-alone form that can run on the robot
● The process can have one or more steps● Any step in the process can stop the process● Not all steps have to “convert code,” steps can also be…
○ Administrative - sending email notifications○ Team Policies - stopping the build if unit tests fails
CompileCode
Deployto RoboRIO
Build Process
● The process to convert source code into a stand-alone form that can run on the robot
● The process can have one or more steps● Any step in the process can stop the process● Not all steps have to “convert code,” steps can also be…
○ Administrative - sending email notifications○ Team Policies - stopping the build if unit tests fails
CompileCode Step 2 Step 3 Deploy
to RoboRIO
New in 2019 Control System
Visual Studio Code (VS Code)
● New IDE for FRC 2019● Eclipse is deprecated● Supports Java and C++● Many features you
would expect from a modern IDE
● Free, cross platform, lightweight
FRC plugin for VS Code
● Similar capabilities to Eclipse plugin● New command palette (ctrl-shift-P)● Much improved vendor library
support (navX, CTRE, etc.)● Conversion tool from Eclipse project
to VS Code project
VS Code Live Demo
Flexible build process
● 2018 Control System used embedded Ant build script to deploy● 2019 Control System uses Gradle to build
○ Customizable○ Decoupled from IDE○ Automatically fetch updated libraries, if connected to the internet
WPILib
● Java 11● Pathweaver graphical motion profiling GUI to create path CSVs● Unit testing● Limited simulation● Use of iterative template is discouraged
New configuration tools
roboRIO Web Dashboard
● Moved from Silverlight to HTML5
● Accessible from popular browsers
Old web dashboard shown
CTRE
● CTRE Phoenix Diagnostics Client
● Manage and configure CANBUS and devices
● Flash CANBUS firmware
● Clear errors
Our 2019 experience
Tips
● Large installs○ If you’re using a flash drive, make sure it’s large enough to
accommodate the installation files (formatted FAT32X)○ Adequate hard drive space
● Long installation times (hours)● Remove any FRC-related software from past (Eclipse, CTRE, etc…)● Install WPILib version of VS Code● Can install WPILIb VS Code alongside regular VS Code
Cool stuff Gradle enables
● Code traceability from development to competition ○ Know what version of code is on the robot○ Can add this to log files to increase traceability○ Auto-commit
● Unit testing○ Injection of objects○ Couldn’t run off the roboRIO
We need your feedback!
https://www.geekspacegwinnett.org/frc-survey/
Class: 2019 Control System Preview