25
2019 Control System Preview

2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

2019 Control System Preview

Page 2: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

Introduction

● Tyler Shin○ Programming lead for Ignite Robotics (6829)○ [email protected]

● Miriam Morris○ Programmer for Ignite Robotics (6829)○ [email protected]

Page 3: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

This presentation will be available online

https://www.igniterobotics.com/2019preview.pdf

Page 4: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

Topics

● Application process● Terminology and concepts● New in 2019 Control System

○ VSCode○ Flexible Build Process○ WPILib○ New configuration tools

● Our 2019 experience

Page 5: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

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

Page 6: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

Beta team responsibilities

● Non-disclosure agreement (NDA)● Beta-specific tasks● Provide feedback● Support the community

Page 7: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

2019 Control System beta-specific tasks

● Install new software● Update roboRIO firmware● Port existing code to 2019 Control System● Test new features

Page 8: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

Terminology and concepts

Page 9: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

Terminology and concepts

● Unit testing● Motion profiling

○ Real-time○ Pre-generated

● Version control (Git)● IDE● CTRE● Build process

Page 10: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

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

Page 11: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

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

Page 12: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

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

Page 13: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

New in 2019 Control System

Page 14: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

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

Page 15: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

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

Page 16: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

VS Code Live Demo

Page 17: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

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

Page 18: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

WPILib

● Java 11● Pathweaver graphical motion profiling GUI to create path CSVs● Unit testing● Limited simulation● Use of iterative template is discouraged

Page 19: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

New configuration tools

Page 20: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

roboRIO Web Dashboard

● Moved from Silverlight to HTML5

● Accessible from popular browsers

Old web dashboard shown

Page 21: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

CTRE

● CTRE Phoenix Diagnostics Client

● Manage and configure CANBUS and devices

● Flash CANBUS firmware

● Clear errors

Page 22: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

Our 2019 experience

Page 23: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

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

Page 24: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

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

Page 25: 2019 Control System Preview · Provide feedback Support the community. 2019 Control System beta-specific tasks ... 2018 Control System used embedded Ant build script to deploy 2019

We need your feedback!

https://www.geekspacegwinnett.org/frc-survey/

Class: 2019 Control System Preview