New - Penfield Robotics

Download Report

Transcript New - Penfield Robotics

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

Use one of the
12V / 2A Terminal
Pairs for this
year’s radio!
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!!
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
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

Motor Controllers
Hardware: Motor Controllers

All 2015 controllers remain supported in 2016
Device
Availability (as of 1/7/16) Notes
VeXPro Victor 888
VeXPro Victor 884
FIRSTChoice: ~2000
VeX: Discontinued
PWM only
VeXPro Jaguar
Discontinued
Formerly Texas Instruments
PWM or CAN Bus
Contains Serial-to-CAN bridge
Talon-SR
Discontinued
PWM only
Victor-SP
Active Production
In Stock
PWM only
$59.99
Talon-SRX
Active Production
Pre-Order only
CAN Bus or…
PWM (less intuitive connection)
$89.99

Discontinued devices: availability is left to team
“recycling” and bartering!
Hardware: Motor Controllers

New controllers for 2016
Device
Availability (as of 1/7/2016)
Notes
MindSensors.com
SD540
Active Production
In Stock
PWM only
$49.00
RevRobotics Spark
Active Production
In Stock
PWM only
$45.00 Amazon Prime 2-day ship!

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!
MindSensors.com SD540
RevRobotics Spark
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, cRIObased) robots – must set protocol setting on each run!
Software: System Requirements

Some software components of the control system will
function on non-Windows computers



Windows 7, 8, 8.1, and 10 have been tested


Driver station software and most NI-provided tools require
Windows!
Radio configuration utility requires Windows
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 either roboRIO 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
1.
2.
3.
4.
5.
6.
7.
8.
9.
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
1. Update firmware via roboRIO web interface – note: recent
versions of Chrome will no longer work!
2. 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