310 likes | 323 Views
Stay informed on the latest updates and enhancements to the FRC Control System 2016 Beta testing. From new hardware like the OpenMesh OM5P-AN Radio to updated software tools, find out what to expect for the upcoming season. Be prepared by understanding the setup, functionalities, and improvements made during the beta phase. Remember to read the game and robot manuals post-kickoff for complete information.
E N D
FRC Control System 2016 Beta Jeff Downs Team 1511 – Rolling Thunder http://penfieldrobotics.com Rob Heslin Team 340 – GRR http://www.team340.org
Forward Cautionary Note! • All information based on Beta Testing done this fall • We received beta versions of control system software and documentation • Near end, docs and software are near final product • We didn’t receive any game info or part legality information!! • So….. Be sure to read the game and robot manual after kickoff!
What we directly tested…. • Hardware: • New OpenMesh OM5P-AN Radio • New CTRE Magnetic Encoder • Enhancements to Talon SRX functionality • Software: • Updated NI Utilities for RoboRio • Updated Driver Station Software • C++ Updates to WPILib
Items We Followed • LabVIEW changes • Java changes • New Speed/Motor Controllers • Ancillary Software Utilities • Robot Builder improvements • Robot Simulator improvements • “Smart Dashboard” and Network Tables updates • “GRIP” Image processing software
New 2016 Radio • OpenMesh OM5P-AN • (Probably) required for all teams in 2016 • Included in your 2016 Kit of Parts • 12V DC input • Power supply not included in retail purchases! • Two (2) Ethernet ports • Equivalent function once FRC firmware is loaded
New 2016 Radio - Function • Similar in function to 2015’s DAP-1522 • Custom firmware will be supplied (and required) by FIRST • 2.4 or 5 GHz operation, access point or bridge • Most teams use AP mode at home • Acts as DHCP server • Enforces bandwidth cap similar to competition field! • All teams use Bridge mode at competition • Mode swap done via configuration utility only! No physical switch on back!
New 2016 Radio - Wiring • Power from VRM module (NOT PD board!) as in 2015 • 2016 radio is 12V! 2015’s DAP-1522 was 5V!! • Center pin on radio is positive Do not use 5V terminals for this year’s radio! Old VRMs may have a sticker over one of these 5V terminals that says “Radio Power”. Remove it!! Use one of the 12V / 2A Terminal Pairs for this year’s radio!
New 2016 Radio - Setup • Use the “FRC Radio Configuration Utility” • Separate download • No longer included in NI Update Suite • Performs 2 functions: • Configuration • Bridge / AP mode and 2.4/5 GHz band selection • WPA Key configuration • Team # and IP configuration • Firmware loading • Loads FRC-specific firmware • Resets radio to default values!
New 2016 Radio – Setup Firmware Loading • Not needed for units received in Kit of Parts! • Use on externally purchased units • … Or to reset the radio to default config • Laptop Ethernet must be plugged into radio port furthest from the power supply! • Radio power must be unplugged before initiating the firmware load! • Must do configuration step after every firmware load!
CTRE Magnetic Encoder • Rotational sensor • Dual output • Absolute rotational position • Quad Encoder-style relative • Mounts to popular transmissions • Wires direct to Talon-SRX speed controllers • Uses fine-pitched non-FRC typical connectors • Setup programmatically via CAN bus or using roboRIO web interface • Talon-SRX can use for closed-loop motor control • … or read value back over CAN bus for other use
Hardware: Motor Controllers • All 2015 controllers remain supported in 2016 • Discontinued devices: availability is left to team “recycling” and bartering!
Hardware: Motor Controllers • New controllers for 2016 • For both of these devices…. • New designs • Use traditional PWM connectors and cables • Screw terminals for power input and output • Feature forward/reverse limit switch connections • Physical brake/coast settings • Passively cooled – no fans!
Talon-SRX Software Updates • Additional features added to Talon-SRX • Enabled via 2016 WPILib and Talon Firmware upgrade • Benefits existing hardware! Just update FW! • Firmware included in NI Update package • Update performed via roboRIO web interface • Enhanced roboRIO web interface • Settings • Diagnostic information • Magnetic Encoder support
Talon-SRX Software Updates • Additional Closed Loop Control Modes: • Voltage compensation (maintain output voltage) • Target current (maintain output current) • Motion profile: give a series of positions/velocities and duration to maintain • More control of closed-loop operation: • Set Min / Max output value • Limit error value used as input to closed loop calculation • Able to use alternate units: rotations and RPM vs. plain “counts” or “counts per minute” • Informative and thorough software manual from manufacturer!
roboRIO Updates • New firmware and image for 2016 • First: Update firmware via roboRIO web interface • Second: Image roboRIO with new image • mDNS name for roboRIO changed! • Name used to access roboRIO on network and web config • 2015: roborio-####.local (#### is team number) • 2016: roborio-####-frc.local • To get to 1511’s roboRIO web interface in 2016: http://roborio-1511-frc.local/ • Automatic program restart • roboRIO will restart your program if it crashes • Intended to help during competition matches
WPILib Updates: C++ & Java • NetworkTables rewrite • Underpinnings of “Smart Dashboard” communication • Core feature set & purpose is relatively unchanged • Fixes many, many, many, many bugs • Enhanced performance • New feature allows table values to be written periodically to roboRIO storage • Some API changes to be more user friendly • Digital filtering classes added • DigitalGlitchFilter: ignore pulses < “x” time period • LinearDigitalFilter: high & low pass, moving average
WPILib Updates: C++ & Java • SpeedController classes (Jaguar, Talon, etc.) • Option added to invert output polarity! • Gyro restructuring • Gyro class is now simply an interface - old Gyro class is now known as AnalogGyro • Digital gyro implementations will share Gyro interface • Calibration now separate from initialization • Calibration parameters can be set by user, rather than calculated
WPILib Updates: C++ & Java • RobotBase initialization changes • 2015: prestart() function could be overridden to do initialization required before the robot would tell the Driver Station that it is “ready” to play matches. robotInit() was sometimes invoked after this “ready” signal was given. • This caused confusion and inconsistency across frameworks. • 2016: prestart() is removed. robotInit() is now always invoked before giving the DS the “ready to play” signal • PID-related updates • Much easier to specify a minimum PID output • Improved support for velocity-oriented PID controls
WPILib Updates: C++ Only • Toolchain support for newer C++ revisions (C++11, C++14) • Increased use of C++ constructs across WPIlib: • Shared_ptr and unique_ptr instead of “plain” pointers • Some use of templates, mostly with STL classes • STL classes, notably std::string, vector, thread types • Task, Notifier, and synchronization types • Each of these were substantially reworked • Old code using these may need significant porting • Porting guide has details on all 2016 changes!
LabVIEW Changes • LabVIEW 2015-based • New “Command and Control” framework • Inspired by the C++/Java “Command based” framework • Optional – traditional framework remains
Software Utilities • Robot Builder: updated • New: Parameterized commands • New: Drag & Drop command group creation • New: CAN-based Talon-SRX control • New: Plug-in system for user-supplied custom controls • Bug fixes • Smart Dashboard: updated • Uses rewritten Network Tables: enhanced reliability/performance • LiveWindow Widgets for tuning of PID parameters used with closed loop control on CAN-based Jaguars and Talon-SRXs • FRCSim: updated • New: supports import of Solidworks model for simulation • GRIP: New image processing utility using OpenCV • GUI setup of image processing to be done on robot
Driver Station Software • Similar to 2015 in function and UI • New messages interface on main screen • Shows errors only by default (similar to 2015) • Can show user-supplied print outs from robot code (printf/cout/System.out.print) • Can also open a separate, resizable “Console” window to show user prints • Supports communicating with older (pre 2015, cRIO-based) robots – must set protocol setting on each run!
Software: System Requirements • Some software components of the control system will function on non-Windows computers • Driver station software and most NI-provided tools require Windows! • Radio configuration utility requires Windows • Windows 7, 8, 8.1, and 10 have been tested • XP will not work! • roboRIO web interface requires Microsoft Silverlight • Web interface access is a must for basic configuration of roboRIO (firmware loading, device setup, diagnostic) • Silverlight plug-in support was removed in recent versions of Chrome • A non-Chrome browser that supports SilverLight is required (Internet Explorer probably is best choice for this)
Software Installation Packaging • Installation Steps based on Programming Language • LabVIEW teams: • Install LabVIEW from Kit DVD or Internet Download • Install NI FRC Update Suite • C++ teams: • Download and install C++ “Toolchain” • Download and install Java JDK from Oracle (not a typo!) • Download and install Eclipse IDE • Install FRC Plug-ins into Eclipse • Install NI FRC Update Suite • Installing anything from LabVIEW DVD is not necessary this year • Java Teams: • Same as C++, but without C++ toolchain install • All Teams: Download and install radio configuration utility!
Software Installation Packaging • Installing for Driver Station only? (no programming) • Install NI Update Suite • Done! • Keeping up to date: • NI Updates provide updated tools and roboRIO images • C++ and Java plug-ins updated directly from Eclipse “Check for Updates” feature • Whenever you update eitherroboRIO Image or C++/Java plug-ins, be sure the versions are meant to work together • Easy rule: if you update one, check updates for the other!
2016 Quick Start • Read the documentation! http://wpilib.screenstepslive.com • Wire up control system • Remember! Radio power this year is 12V! • Setup programming computer (prior slides) • Update roboRIO using USB connection only • Update firmware via roboRIO web interface – note: recent versions of Chrome will no longer work! • Image using roboRIO imaging tool • Java users only: download and install Java for roboRIO using provided utility • Setup robot radio using the 2016 tool • Deploy a simple program from one of the examples • Run Driver Station software and setup team # • Verify basic function
Download URL:http://penfieldrobotics.com/controlsystem-2016.ppt