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