7roboRIO PWM (10) + up to (10) on MXP DIO (10) + up to (16) on MXP (4) RelayAnalog Input (4) + (4) on MXP(2) Analog Output on MXPCommunications(2) SPI ports 1x4 & 1x1(2) I2C portsUART (1) RS (1) TTL(2) USB host ports(1) USB device port for tethering(1) Ethernet for Dlink Rev B(1) CAN for PCM/PDP/CAN speed controllersPower pins for 6v(2.2a), 5v(1a), 3.3v(1.5a)Note 6v measures low if not loadedDIO/I2C/SPI are native 3.3v but handle 5vShort circuit protectionSpecs: https://decibel.ni.com/content/servlet/JiveServlet/download/ /roboRIO+Overview.pdf
8PDP Power Distribution Panel Direct replacement of old PDBMinuses:(4) fewer 20/30a Wago connections (net loss of 1)But old cRIO required (3) of those for control systemNo warning LEDs for blown or missing breakersPluses:Software Monitoring25ms update rate, 1/8 amp resolutionPer channel current & short circuit (sticky fault)Input battery under 6.5v (sticky fault)Does not monitor special roboRIO/PCM/VRM power outputsVia CAN communicationsOther Notes:Battery power lugs must fit within protective cover (.44” wide)Special roboRIO/PCM/VRM outputs aren’t special. If more PCM/VRM devices are needed just use regular wago power (2015 rules allowing).
9PCM Pneumatics Control Module Replaces old Solenoid Breakout, Compressor Relay, Pressure Switch DIOAutomatic control of compressor operation- no direct user code involvementSupports either 12v or 24v solenoids, pick one w/ jumperThe 24v for solenoids is fixed. The 12v just follows battery voltage (brownout danger).(8) solenoid outputs - that’s (8) single or (4) double or a mixtureAdditional PCMs can be powered directly from a PDP Wago connectionCAN communicationSmart monitoring for faultsCompressor/solenoid over voltage or short circuitCompressor currentSolenoid on/offSolenoid jumper setting 12v or 24v25ms update rateNo Relay Spike for the compressorShort circuit protection
10VRM Voltage Regulation Module Replaces 12v protected supply from the old PDB and the 12v/5v converterGood down to 3.5v (long after everything else blacks out)Short circuit protection12v rail and 5v rail are separate, but each rail’s outputs are jointAll outputs on a rail share overall constraints1.5a total continuous current across all rail outputs500ma current limited outputs piggy-back off the 2a Max outputs2a Max momentary currentmatches the combined peak for a Dlink & AXIS camera (725ma+1.3a=2.025a).Normal continuous current draw for these two is about 5vAdditional VRMs can be powered directly from PDP Wago outputs
11Victor SP/Talon SRX Victor SP Talon SRX PWM only Sealed enclosure 60a continuous/100a surgeMuch smaller footprint (2.5" x 1.125" x 0.875"tall)Much lighter weight (.2 lbs)LED indicators blink proportionately to output speed and in various colors (yellow blink=Disabled, green=forward, red=backwards)Talon SRX(2) CAN/PWM connectors-2nd is for CAN chainAuto-detect CAN vs PWM use(1) Quad Encoder connection(2) Limit Switch connections-forward/reverse(1) Analog Input (for 3.3v)3.3v/5v availableSlightly larger than Victor SPModes include:slave to another Talon, quad encoder, pot, %voltage
12Networking DLink Rev B still being used PC talks to roboRIO over USB or Ethernet connectionroboRIO-358.local (or USB-only )roboRIO does not bridge between USB & Ethernet portsMulticast Domain Name System (mDNS)E.g., roboRIO-358.localStatic IP vs DHCPStatic 10.TE.AM.1 for robot DLink/default gatewayset aside for the user to assign, e.g., IP cameras, secondary processorsassigned via DHCP (Field Router or DLink at home)roboRIO (roboRIO-358.local )Driver StationIP camera (axis-camera.local)Development laptops
13CAN Controller Area Network Standard in vehiclesCAN for roboRIO/PCM/PDP/speed controller communicationsUse two-wire awg twisted pair green/white wireBus starts at the roboRIOroboRIO has a built-in terminator for one end of the CAN busThe other end also need a 120ohm terminatorPDP has an optional terminator for the other end, or you can make your ownOther devices (PCM/Talon SRX/Jaguar) each have two CAN connectors to extend a chain of devicesCAN IDs are segregated by device typeThe default is PDP id=0 and PCM id=0The full CAN address of type+ID is hiddenBandwidth17 devices (15 Jags using %v+PCM+PDP) takes up 20% of bus bandwidthUtilization goes up with a large volume of too rapid status queries, keep it under 90%Dangerous to increase update rates from the default too high or for too many devicesPDP & PCM should be left at the default 0 address.Additional modules can have other addressesDefault address 0 is assumed by the system for default logging
14Considerations/Differences Self-protect Brownout 7vWe might see more frequent but less damaging brownouts during matches, of shorter duration (drive stutter)@7v PWM/CAN output set to neutral & PCM disabled- motors stop/start email@example.com the 6v rail shuts firstname.lastname@example.org the 3.3v/5v rails shut down - awkward for 5v devices such as encoders@5v PDP looses CAN@3.8v roboRIO shuts email@example.com VRM drops outPWM plugs, snug but potential for rattling looseMetal frag showers & pinout cupsWeimuller connectionsWire whiskers bunch upWire size (smaller gauge is easier to insert, big insulation doesn’t work)Dual purpose MXP pinsAny Digital Output pins shareable with PWM will be Disabled with the robotWindows 7/8 to run Driver Station & if using LabVIEW environment
15Mostly the same programming API’s as last year for all three languages Some class/function name changesroboRIO will automatically run whichever language program was loaded lastNewPower API’sBattery voltage, PDP current monitoring, Over current/short circuit faults PCM & PDP, Sticky faultsIndexing starts at 0 rather than 1Joysticks, PWM, DIO, Analog I/O, RelayCompressor no longer under user code control other than stop/startPotentiometer class/viBuilt-in 3-axis accelerometer (MMA8452Q) w/selectable sensitivity of +/-2,4,or 8gMissingNo Cypress board support by the Driver Station (discontinued)No Driver Station user message displayNo Kinect support on Driver StationWindows, Linux, OSX for Java, C++ developmentEclipse for Java (JRE 8 SE Embedded-standard Java release) & C++ (gcc version 4.9.1)Put files in the home directory of the account the program is run from "home/lvuser"
16Programming Backward Compatibility Option 1: LabVIEW & Java Can Use Existing Setups to program cRIOsJava teams can continue using Netbeans with the old librariesLabVIEW license from last season never expires (just this edition)Option 2: C++ WindRiver Expires, so Use a Different SetupC++ teams can use the project located on FIRSTForge here:Option 3: LabVIEW-Only New Software Will Work on cRIO IIBackward compatibility for LabVIEW w/ 4-slot cRIO only
17Joystick Handling POV as degrees xBox Trigger Buttons are now on separate axesIndexing starts at 0Rumble Outputs are supported on xBox controllers (must use xInput)
18LabVIEW Minor Palette Rearrangement Joystick functions revised Legacy vi’s, e.g., Joystick Get, will partially work - removed from paletteJoystick Get Values replacement uses a generalized indexing schemeModified BehaviorCompressor Open not required, a Solenoid Open will activate the compressorIndex from 0, e.g., USB 0, Button 0, Axis 0, PWM 0Power paletteroboRIOInput voltage, current, brownout3.3v/5v/6v rail faults6v rail voltage & currentDisable 3.3v/5v/6v railsPCMCompressor currentCompressor & Solenoid see & clear faultsInput voltageSolenoid voltagePDPBattery input voltage(16) Wago channel currentsPDP Energy & Power usageOutputs Enabled (DS Disabled, comms loss, overvoltage or brownout Disables)Potentiometer & Limit Switch palettesRead User Button
19Update Rates PWM Talon, Victor SP, Jaguar, Talon SRX = 5ms PWM Victor = 10msPWM Servo = 20msCAN Talon SRX = 10msCAN Jaguar = 20msPCM C++/Java= 20ms, LabVIEW=75ms (may change to 20ms)PDP = 25msInternal PID on Jaguar & Talon SRX = 1ms
20MiscellanyUSB thumb drives work on roboRIO (mount as U & V on root directory)Use IP or USB CamerasAxis IP camera can use mDNS (axis-camera.local) or a static IP addressUSB cameras are processed by user code on the roboRIO and the user can forward video/images to the Driver stationAll user programs run under lvuser account on roboRIOJava/C++ are started via the LabVIEW startup mechanismCan ssh onto roboRIO as lvuser or admin (both blank passwords)roboRIO clockInitial date/time when roboRIO is booted seems to be 2/17/1970, 12:40am. When the Driver Station connects the time on the roboRIO gets sync'ed to the DS. So timestamps may vary accordingly if files are written/created before/after the DS connects after a roboRIO boot.
21Support Apps, Tools, & Utilities No automatic shortcuts on desktop or Start menu (user has to add if wanted)Driver StationDashboardWebDASHroboRIO Imaging Tool 2015Setup AXIS Camera ToolBridge Configuration UtilityBCD Comm (new Jaguar firmware)3rd Party Toolsssh (PuTTY or similar)ftpLV cRIO Backward CompatibilitycRIO Imaging Tool 2015Net Console for cRIO
22Driver StationOption to switch back to 2014 FMS protocols. Allows FMS support for teams going to Week 0 events running FMS Offseason software.Keyboard Shortcuts to Enable/Disable Driver StationEnable - ' [ ] \ ' key combination.Disable - Enter key
23WebDASH View and Modify roboRIO settings Versions Update firmware Force Safe ModeDisable RT Startup AppSystem Resources Available/UsedSet Static/DHCP IPCAN Bus DevicesSet CAN Ids for PCM, PDP, speed controllersSee PDP & PCM monitoring/clear sticky faults
24Beta TestingSome system behavior is due to the more generic use of the baseline MyRIOWebDASH changes, for instance, are controlled by a different NI commercial group and could not be made for this year
25Breaking It: What Didn’t VRMHandles short circuits on all outputsHandles reversed power inputPCMPDPOverloading the PCM/VRM power outputsroboRIO
26Breaking It: What Did VRM -Bad Over current (>1.5a) on the 12v rail Heating up from repeated over current cycles on 5v rail might eventually cause damage (we tried)PCM - BadCompressor that pulls >17a constantlyPDP - Bad20a fuse: Max load on VRM (2.125a) + high current compressor (>17a continuous)Wire battery terminals backwardsAttach motor (inductive load) directly to Wagos w/o a speed controllerWiring power to CAN busroboRIOCan still overload the CPU, use WebDASH to disable user code
27Beta Testing Still To Do Benchmarking roboRIO vs cRIO PerformanceUpdate LabVIEW examples to 2015 style and testFIRST is still making adjustmentsMinor circuit changes to CTRE hardware (roboRIO is in production)E.g., removing a PCM internal fuse that does nothingFirmware fine tuningE.g., PCM overcurrent timing profile
28Links NI Specs Team 358 Beta Other Beta Teams ChiefDelphi Community: https://decibel.ni.com/content/docs/DOC-30419Team 358 BetaOther Beta TeamsTeam 11: https://www.facebook.com/FRCBetaTestTeam 1718:Team 111:ChiefDelphi Community: