2019 Control System Preview · Provide feedback Support the community. 2019 Control System...

Preview:

Citation preview

2019 Control System Preview

Introduction

● Tyler Shin○ Programming lead for Ignite Robotics (6829)○ tyler.s@igniterobotics.com

● Miriam Morris○ Programmer for Ignite Robotics (6829)○ miriam.m@igniterobotics.com

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

Recommended