2015 Beta Control System

Download Report

Transcript 2015 Beta Control System

2015
Beta Control System
Hauppauge Robotics
Conference
November 22, 2014
FRC team 358
team358.org
Agenda





New Components
Networking
Programming
Support Tools
Breaking It
Presentation is located at:
http://team358.org/files/workshops/
Parts is Parts






2015 Acronyms:
roboRIO w/ MyRIO Expansion Port (MXP)
Pneumatics Control Module (PCM)
Power Distribution Panel (PDP)
Voltage Regulator Module (VRM)
Victor SP
Talon SRX
AndyMark
http://www.andymark.com/Controls-s/262.htm
New vs Old
Overall 1/3 smaller footprint, 1/3 vertical clearance, 2lb
weight savings
 roboRIO
– Old: cRIO/modules/Digital Sidecar(DSC)/Analog
Breakout

PCM
– Old: Solenoid Breakout & DSC Compressor
relay/pressure DIO

PDP
– Old: Power Distribution Board (PDB)

VRM
– Old: PDB 12v output + 12v/5v converter
– Old: 5v power for camera

Victor SP
– Old: Victor 888/Talon SR/Jaguar(PWM)

Talon SRX
– Old: Jaguar (CAN)
New vs Old - Cost




roboRIO ($435)
Pneumatic Control Module ($90)
Power Distribution Panel ($200)
Voltage Regulation Module ($46)

cRIO w/3 modules ($525)
Digital Sidecar ($174)
Analog Breakout ($152)
Solenoid Breakout ($152)
Power Distribution Board ($189)
12v/5v Converter ($12.50)

Old ($1204)






New ($771)
Plus
 Victor SP ($60)
 Talon SRX ($80)
Plus
 Victor 888 ($70)
 Jaguar ($80)
Layout
roboRIO






PWM (10) + up to (10) on MXP
DIO (10) + up to (16) on MXP
(4) Relay
Analog Input (4) + (4) on MXP
(2) Analog Output on MXP
Communications
–
–
–
–
–
–
–

Power pins for 6v(2.2a), 5v(1a), 3.3v(1.5a)
–


(2) SPI ports 1x4 & 1x1
(2) I2C ports
UART (1) RS-232 + (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 controllers
Note 6v measures low if not loaded
DIO/I2C/SPI are native 3.3v but handle 5v
Short circuit protection
Specs: https://decibel.ni.com/content/servlet/JiveServlet/download/30419-56-79765/roboRIO+Overview.pdf
PDP
Power Distribution Panel
Direct replacement of old PDB

Minuses:
(4) fewer 20/30a Wago connections (net loss of 1)
–


But old cRIO required (3) of those for control system
No warning LEDs for blown or missing breakers
Pluses:
Software Monitoring
–
–
–
–
–
25ms update rate, 1/8 amp resolution
Per channel current & short circuit (sticky fault)
Input battery under 6.5v (sticky fault)
Does not monitor special roboRIO/PCM/VRM power outputs
Via CAN communications
Other 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).
PCM
Pneumatics Control Module
Replaces old Solenoid Breakout, Compressor Relay, Pressure Switch DIO







Automatic control of compressor operation- no direct user code involvement
Supports either 12v or 24v solenoids, pick one w/ jumper
The 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 mixture
Additional PCMs can be powered directly from a PDP Wago connection
CAN communication
Smart monitoring for faults
–
–
–
–
–


Compressor/solenoid over voltage or short circuit
Compressor current
Solenoid on/off
Solenoid jumper setting 12v or 24v
25ms update rate
No Relay Spike for the compressor
Short circuit protection
VRM
Voltage Regulation Module




Replaces 12v protected supply from the old
PDB and the 12v/5v converter
Good down to 3.5v (long after everything else
blacks out)
Short circuit protection
12v rail and 5v rail are separate, but each rail’s
outputs are joint
–
–
–
–
All outputs on a rail share overall constraints
1.5a total continuous current across all rail
outputs
500ma current limited outputs piggy-back off
the 2a Max outputs
2a Max momentary current



matches the combined peak for a Dlink & AXIS
camera (725ma+1.3a=2.025a).
Normal continuous current draw for these two is
about 600ma @ 5v
Additional VRMs can be powered directly from
PDP Wago outputs
Victor SP/Talon SRX

Victor SP
–
–
–
–
–
–
–

PWM only
Sealed enclosure
60a continuous/100a surge
Much 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)
$60
Talon SRX
–
–
–
–
–
–
–
–
(2) CAN/PWM connectors-2nd is for CAN chain
Auto-detect CAN vs PWM use
(1) Quad Encoder connection
(2) Limit Switch connections-forward/reverse
(1) Analog Input (for 3.3v)
3.3v/5v available
Slightly larger than Victor SP
$80
Networking


DLink Rev B still being used
PC talks to roboRIO over USB or Ethernet connection
– roboRIO-358.local (or USB-only 172.22.11.2)
– roboRIO does not bridge between USB & Ethernet ports
– Multicast Domain Name System (mDNS)


E.g., roboRIO-358.local
Static IP vs DHCP
– Static 10.TE.AM.1 for robot DLink/default gateway
– .2-.19 set aside for the user to assign, e.g., IP cameras, secondary processors
– .20-.199 assigned via DHCP (Field Router or DLink at home)




roboRIO (roboRIO-358.local )
Driver Station
IP camera (axis-camera.local)
Development laptops
CAN
Controller Area Network




Standard in vehicles
CAN for roboRIO/PCM/PDP/speed controller communications
Use two-wire 18-24 awg twisted pair green/white wire
Bus starts at the roboRIO
–
–
roboRIO has a built-in terminator for one end of the CAN bus
The other end also need a 120ohm terminator

–


Other devices (PCM/Talon SRX/Jaguar) each have two CAN connectors to extend a chain
of devices
CAN IDs are segregated by device type
–
–

PDP has an optional terminator for the other end, or you can make your own
The default is PDP id=0 and PCM id=0
The full CAN address of type+ID is hidden
17 devices (15 Jags using %v+PCM+PDP) takes up 20% of bus bandwidth
PDP & PCM should be left at the default 0 address.
–
–
Additional modules can have other addresses
Default address 0 is assumed by the system for default logging
Considerations/Differences

Self-protect Brownout Cutoff @ 7v
–
–
–
–
–
–
–



PWM plugs, snug but potential for rattling loose
Metal frag showers & pinout cups
Weimuller connections
–
–

Wire whiskers bunch up
Wire size 16-18 (smaller gauge is easier to insert, big insulation doesn’t work)
Dual purpose MXP pins
–

We 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 jitter
@6.5v the 6v rail shuts down
@6.2v the 3.3v/5v rails shut down - awkward for 5v devices such as encoders
@5v PDP looses CAN
@3.8v roboRIO shuts down
@3.4v VRM drops out
Any Digital Output pins shareable with PWM will be Disabled with the robot
Windows 7/8 to run Driver Station & if using LabVIEW environment
Programming
Mostly the same programming API’s as last year for all three languages



Some class/function name changes
roboRIO will automatically run whichever language program was loaded last
New
–
Power API’s

–
Indexing starts at 0 rather than 1

–
–
–



Joysticks, PWM, DIO, Analog I/O, Relay
Compressor no longer under user code control other than stop/start
Potentiometer class/vi
Built-in 3-axis accelerometer (MMA8452Q) w/selectable sensitivity of +/-2,4,or 8g
Missing
–
–
–

Battery voltage, PDP current monitoring, Over current/short circuit faults PCM & PDP, Sticky faults
No Cypress board support by the Driver Station (discontinued)
No Driver Station user message display
No Kinect support on Driver Station
Windows, Linux, OSX for Java, C++ development
Eclipse 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"
Programming
Backward Compatibility

Option 1: LabVIEW & Java Can Use Existing Setups to program cRIOs
– Java teams can continue using Netbeans with the old libraries
– LabVIEW license from last season never expires (just this edition)

Option 2: C++ WindRiver Expires, so Use a Different Setup
– C++ teams can use the project located on FIRSTForge here:
http://firstforge.wpi.edu/sf/projects/c--11_toochain

Option 3: LabVIEW-Only New Software Will Work on cRIO II
– Backward compatibility for LabVIEW w/ 4-slot cRIO only
Joystick Handling




POV as degrees
xBox Trigger Buttons are
now on separate axes
Indexing starts at 0
Rumble & HID Outputs are
planned to be supported
LabVIEW


Minor Palette Rearrangement
Joystick functions revised
–
–

Modified Behavior
–
–

Legacy vi’s, e.g., Joystick Get, will partially work - removed from palette
Joystick Get Values replacement uses a generalized indexing scheme
Compressor Open not required, a Solenoid Open will activate the compressor
Index from 0, e.g., USB 0, Button 0, Axis 0, PWM 0
Power palette
–
roboRIO




–
PCM




–




Compressor current
Compressor & Solenoid see & clear faults
Input voltage
Solenoid voltage
PDP

–
Input voltage, current, brownout
3.3v/5v/6v rail faults
6v rail voltage & current
Disable 3.3v/5v/6v rails
Battery input voltage
(16) Wago channel currents
PDP Energy & Power usage
Outputs Enabled (DS Disabled, comms loss, overvoltage or brownout Disables)
Potentiometer & Limit Switch palettes
Read User Button
Update Rates








PWM Talon, Victor SP, Jaguar, Talon SRX = 5ms
PWM Victor = 10ms
PWM Servo = 20ms
CAN Talon SRX = 10ms
CAN Jaguar = 20ms
PCM C++/Java= 20ms, LabVIEW=75ms (may
change to 20ms)
PDP = 25ms
Internal PID on Jaguar & Talon SRX = 1ms
Miscellany

USB thumb drives work on roboRIO (mount as U & V on root directory)

Use IP or USB Cameras
– Axis IP camera can use mDNS (axis-camera.local) or a static IP address
– USB cameras are processed by user code on the roboRIO and the user can forward
video/images to the Driver station

All user programs run under lvuser account on roboRIO

– Java/C++ are started via the LabVIEW startup mechanism
– Can ssh onto roboRIO as lvuser or admin (both blank passwords)
roboRIO clock
– Initial 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.
Support Apps, Tools, &
Utilities









No automatic shortcuts on
desktop or Start menu (user has
to add if wanted)
Driver Station
Dashboard
WebDASH
roboRIO Imaging Tool 2015
Setup AXIS Camera Tool
Bridge Configuration Utility
BCD Comm (new Jaguar
firmware)
3rd Party Tools
– ssh (PuTTY or similar)
– ftp

LV cRIO Backward Compatibility
– cRIO Imaging Tool 2015
– Net Console for cRIO
Driver Station
Option 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 Station
–Enable - ' [ ] \ ' key combination.
WebDASH

View and Modify roboRIO settings
–
–
–
–
–
–

Versions
Update firmware
Force Safe Mode
Disable RT Startup App
System Resources Available/Used
Set Static/DHCP IP
CAN Bus Devices
–
–
Set CAN Ids for PCM, PDP, speed controllers
See PDP & PCM monitoring/clear sticky faults
Beta Testing

Some system behavior is due to the more generic use of
the baseline MyRIO
– WebDASH changes, for instance, are controlled by a different NI
commercial group and could not be made for this year
Breaking It: What Didn’t

VRM
– Handles short circuits on all outputs
– Handles reversed power input


PCM
– Handles short circuits on all outputs
– Handles reversed power input
PDP
– Overloading the PCM/VRM power outputs

roboRIO
– Handles short circuits on all outputs
– Handles reversed power input
Breaking 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 - Bad
– Compressor that pulls >17a constantly

PDP - Bad
– 20a fuse: Max load on VRM (2.125a) + high current compressor (>17a
continuous)
– Wire battery terminals backwards
– Attach motor (inductive load) directly to Wagos w/o a speed controller
– Wiring power to CAN bus

roboRIO
– Can still overload the CPU, use WebDASH to disable user code
Beta Testing Still To Do

Benchmarking roboRIO vs cRIO Performance
Update LabVIEW examples to 2015 style and test

FIRST is still making adjustments

– Minor circuit changes to CTRE hardware (roboRIO is in production)

E.g., removing a PCM internal fuse that does nothing
– Firmware fine tuning

E.g., PCM overcurrent timing profile
Links

NI Specs
– https://decibel.ni.com/content/docs/DOC-30419

Team 358 Beta
– http://team358.org/files/programming/ControlSystem20152019/BetaResults.php
– http://team358.org/files/programming/ControlSystem2015-2019

Other Beta Teams
– Team 11: https://www.facebook.com/FRCBetaTest
– Team 1718:
http://www.fightingpi.org/Resources/Controls/Beta/2015.shtml
– Team 111: http://wildstang.org/blog/?p=108

ChiefDelphi Community:
– http://www.chiefdelphi.com/forums/showthread.php?threadid=130303