Upcoming Events:
Error 406 - Not Acceptable
Generally a 406 error is caused because a request has been blocked by Mod Security. If you believe that your request has been blocked by mistake please contact the web site owner.
Full event list
Error 406 - Not Acceptable
Generally a 406 error is caused because a request has been blocked by Mod Security. If you believe that your request has been blocked by mistake please contact the web site owner.
FIRST® Robotics Competition (FRC®)
Control System 2015-2021
Note: This Page Will Constantly Change As Tests are made and Issues Are Discovered or Resolved.
Beta Testing 2018 Software/Hardware Updates to the Control System
The control system stays the same for 2018 with software updates and changes, as well as, a new brushless motor.
We also follow the ScreenSteps documentation for teams closely and look for improvements that might be made. ~75 Beta teams.
Some of the notes that follow may need revision when we get our collective hands on the final product.
FRC Blog: 2018 Beta Teams, Brushless Motors, and More!
Goals of the Beta Test:
- Give a sizeable group of diverse teams early hands on exposure to the 2018 control system software;
- Use Beta Team feedback to refine/develop supporting documentation and training materials;
- Test the new features and functions of the control system to uncover problems and provide solution suggestions;
- Develop a supporting network/knowledge database about the new features;
- Allow teams to become "Control System Experts" and serve as area leaders to mentor other teams;
- Share information to minimize strategic advantages;
- Understand the difficulties and issues that Teams may encounter with the new control system features.
Specific Goals include:
- Look for software installation problems or documentation lapses that make the process confusing
- Basic benchtop testing of the default programs
- Port prior seasons code - Optional use the 2018 software at an offseason competition
- Advanced feature testing: Network Tables stress test, camera streaming, new Java Shuffleboard dashboard testing
Notes for the 2018 season control system:
- Driver Station
- Additional Connectivity Diagnostics
- New Game Data field for match information sent by FMS during match play
- DS Protocol selector for 2014 cRIO systems has been dropped.
- Will NOT work on Windows XP
- LabVIEW
- Increase robustness of USB Camera connections and streaming
- Two new robot/field simulation projects: A mechanum Maze robot simulation and a shooting/ball pickup robot simulation
- Annual update to the current edition of LabVIEW 2017
- roboRIO CAN software update must be applied using the 3rd party CTRE Phoenix Lifeboat application (if this isn't done, then no CAN devices, e.g., PDP, PCM, TalonSRX, will show up in the roboRIO WebDash)
- Java/C++
- File transfer via WebDAV (replacing use of SSH)
- New base class - TimedRobot loops on a timer instead of syncing to the arrival of DS packets
- RobotDrive class has been split into separate classes for different drive base platform types - currently includes Differential Drive (common 4wd/6wd/8wd/tank/etc. platforms), Killough Drive (3 omni's) and Mecanum
- New JRE (zulu) - separate Java installer for the roboRIO is no longer necessary
- Java 8 - Eclipse projects should be configured at source code compatibility to 1.8
- When eclipse start it will automatically update old projects. If a project is imported, it isn't updated until you close and reopen eclipse
- Network Tables improved synchronization and New classes and interfaces
- New Shuffleboard dashboard
- CTRE name changes: TalonSRX is now PWMTalonSRX and CANTalonSRX has been renamed to TalonSRX
- OutlineViewer rewrite
- Software Order of Installation - These are the steps each team must take:
- Install the programming language of your choice: Basic LabVIEW 2017 or Java/C++
- FRC Update
- You get a message if the Microsoft .NET Framework 3.5 needs to be installed separately
- CTRE Installer-obtained separately
- Update roboRIO firmware
- Reimage roboRIO (operating system)
- CTRE Phoenix Lifeboat roboRIO Update
- Other 3rd Party installations, e.g., NAVX
- Update TalonSRX firmware (if used)
- Compile and Download User Code
- See Installing the FRC 2018 Update Suite (All Languages)
- Brushless Motor - Nidec Dynamo BLDC Motor with Controller
- Small motor and motor controller in one package
- 4amp, ~44 watts, 2700rpm free speed
- 10lbs max radial load, 2lbs max axial load
- Powered directly from PDP. Use on a 20amp PDP circuit for now-2018 rules will specify the correct breaker.
- 1 lb 7.6 oz
- #6-32 on a 2" bolt circle face mounting (or M4x0.7 metric)
- Output shaft is the same as a CIM shaft, 2mm keyway
- Controlled via roboRIO DIO output (DIO generated PWM control signal output to the motor) and a separate roboRIO PWM connection that just Enables the motor (to handle the FRC robot Disable safely)
- Power output actually gets mapped to 64 discrete steps in power -1 to 1 (maps to 84 rpm steps)
- Tachometer and Direction pin outputs do not come pre-wired
- The tachometer does not work while the motor is Disabled, so spinning the shaft in that state will not give any feedback.
- The crimp terminal that fits the harness connector housing is Molex 16-02-0103
- Datasheet
- Manual
- AndyMark Purchase
FRC 358 Beta Testing photo gallery:
Beta testing Photos - Fall 2017 Just some more images of screenshots, components, and the like.Details
roboRIO Imaging Tool
Make sure the PC has been restarted after the installation of the FRC Update, otherwise you'll get an error message from trying to run this tool.This tool needs to be run as Administrator.
A desktop shortcut to the roboRIO Imaging Tool has been added, so it's much easier to find and use.
A progress status bar has been added to the Imaging Tool, so you get an idea that it's progressing and how much is left.
Nidec Dynamo BLDC Motor with Controller
LabVIEW Open:
Video of the motor running (it jumps whenever the motor goes from full in one direction to full in the opposite direction):
Example Direction/Tachometer Wiring & LV Code:
Hookups to the roboRIO/PDP:
There is a caution with the brushless wiring.**** If the DIO connection comes loose, then the motor will race uncontrollably while the robot is Enabled. ****
It is designed to be disabled when the robot is disabled, so it can be quickly halted if this happens. But remember that if it happens during a match, then the only way to Disable the runaway motor is by eStop and your role in the match is over.
Consider your application carefully to account for this possibility. A racing beater bar isn't a problem, but a racing gripper might burn out the motor or damage the mechanism.
You can program in a safety override to disable the motor with a button, or to automatically disable the motor if it isn't being sent a power command.
Note also that the integrated tachometer does not operate while the motor is disabled.
Here is one suggested approach that keeps the Nidec motor Disabled unless actively being driven. This can be reduced to a user version of the Motor Set Output that hides all this implementation and lets the programmer treat it just as any other motor:
Wiring Connections:
- A red/white connector goes to a PWM output (red=signal, white=ground) This is only used as a signal to Enable/Disable the motor with the robot.
- A black/blue connector goes to a DIO (blue=signal,black=ground) This produces a PWM signal to control the direction and speed of the motor.
- Bare Red/white wires connect to the PDP (20a breaker) and provide the power.
- If Tach/Direction wires have been added to the Nidec harness, then they each go to signal DIO pins. No ground or power wires are required.
Video of the Tachometer output (stop->slow->fast):
Video of the DIO-PWM signal (neutral->forward->reverse):
New Driver Station Game Data
A new Game Data field can be found on the Driver Station Setup tab.
It is a field that will be populated with match specific information (TBD based on the game to come) during official matches.
LabVIEW access:
New Driver Station Connectivity Diagnostics
- Enet Link - active Ethernet port
- Robot Radio - answers ping at team address 10.TE.AM.1
- Robot (ip address) - answers ping at the ip address. ip can be 10.TE.AM.2, 10.TE.AM.xx, 169.254.xx.xx
- FMS - talking to the Field Management System (official field only)
- Enet (ip address) - PC Ethernet active ip (not necessarily the robot)
- Wifi - PC wireless is actively connected to wifi network (robot radio or school/home/venue AP)
- USB - PC tethered to roboRIO via USB (172.22.11.2)
- Firewall (Dom,Pub,Pr) - lit green means all three parts of the Windows firewall are disabled. (Dom,Pub,Pr) identifies which parts are still active: Domain, Public, and/or Private
Here are examples of the diagnostic feedback when using different connections to the robot:
- Via WiFi
- Via USB tether
- Via Ethernet tether through robot radio
- Via Ethernet tether direct to roboRIO
Default Dashboard NT Connection Diagnostic
There is an indicator on the Dashboard Drive tab that is green when network tables is actively exchanging data with the robot. When connection with the robot is broken it takes about 12 seconds to go dark.Alliance & Match Info Update
Additional information is available during a match:New LabVIEW USB Camera Handling
The USB camera stream handling is more robust and does more to recover from camera and roboRIO disconnects.
Here is a sequence of screenshots demonstrating the recovery process after communications with the roboRIO were dropped (The Ethernet connection was physically disconnected/reconnected).
New LabVIEW Simulation Projects
There are two default projects: a simulated tank drive robot with a ball collector and a shooter with targets on a wall, and a simulated mechanum robot in a field maze.Each of the two robot simulation projects require a specific corresponding Dashboard project (one shooter and one maze Dashboard project) to display the scores and other simulation feedback.
The robot simulations are intended to be run in debug mode, so the user can probe internal values and watch code execution.
Ball collector & shooter robot simulation:
Mechanum maze robot simulation: