Add roboRIO documentation (final year)
- Dual-core ARM Cortex-A9 + Xilinx FPGA - All built-in ports (I2C, SPI, PWM, CAN, Ethernet) - Imaging requirement for deployment - Note: SystemCore replacement coming
This commit is contained in:
74
sources/2890/roborio.md
Normal file
74
sources/2890/roborio.md
Normal file
@@ -0,0 +1,74 @@
|
||||
---
|
||||
title: "roboRIO — FRC Robot Controller (Final Year)"
|
||||
tags:
|
||||
- hardware
|
||||
- controller
|
||||
- roborio
|
||||
- 2890
|
||||
- frc
|
||||
type: hardware-spec
|
||||
owner: 2890
|
||||
status: retiring
|
||||
sources:
|
||||
- "https://docs.wpilib.org/en/stable/docs/software/roborio-info/roborio-introduction.html"
|
||||
- "https://www.ni.com/docs/en-US/bundle/roborio-frc-specs/page/specs.html"
|
||||
---
|
||||
|
||||
# roboRIO — FRC Robot Controller
|
||||
|
||||
## Overview
|
||||
|
||||
The **roboRIO** is Team 2890's central robot controller — the brain that runs all robot code, reads sensors, and commands motors. It connects to the PDH via CAN, communicates with motor controllers, and runs the autonomous and driver control programs.
|
||||
|
||||
**This is the final year for the roboRIO.** A replacement system (SystemCore) is coming for future seasons.
|
||||
|
||||
## Key Specifications
|
||||
|
||||
| Parameter | Value |
|
||||
|-----------|-------|
|
||||
| Processor | Dual-core ARM Cortex-A9 Real-Time |
|
||||
| FPGA | Xilinx (customizable) |
|
||||
| Communication | Ethernet, USB, RS232, I2C, SPI |
|
||||
| Motor control | PWM, CAN (via SPARK Flex) |
|
||||
| Built-in | I2C, SPI, encoders, accelerometer, LEDs, buttons |
|
||||
| Weight | Light, compact |
|
||||
|
||||
## Built-in Ports
|
||||
|
||||
- **I2C** — sensor communication (time-of-flight, IMU)
|
||||
- **SPI** — high-speed sensor communication
|
||||
- **RS232** — serial devices
|
||||
- **USB** — development/camera
|
||||
- **Ethernet** — radio, field communication
|
||||
- **PWM** — legacy motor control (8 ports)
|
||||
- **Relays** — spike/legacy solenoid control
|
||||
|
||||
## Imaging
|
||||
|
||||
Before deploying code, the roboRIO must be imaged with the correct FRC firmware. This is a common troubleshooting step when the robot acts up.
|
||||
|
||||
## Connection to Training
|
||||
|
||||
**For students:** The roboRIO is the brain. Key concepts:
|
||||
- **Real-time processor** — runs code predictably, not like a PC
|
||||
- **FPGA** — handles timing-critical signals (PWM, encoder counters) in hardware
|
||||
- **CAN vs PWM** — modern robots use CAN for smart motor control; PWM is legacy
|
||||
- **I/O mapping** — each sensor port has a defined role
|
||||
|
||||
**Related training modules:**
|
||||
- [[systemcore]] — the replacement controller coming next year
|
||||
- [[power-distribution-hub]] — PDH connects to roboRIO via CAN
|
||||
- [[spark-flex]] — receives commands from roboRIO over CAN
|
||||
- [[frc-software-stack]] — understanding the code deployment pipeline
|
||||
|
||||
## Source Links
|
||||
|
||||
- WPILib docs: https://docs.wpilib.org/en/stable/docs/software/roborio-info/roborio-introduction.html
|
||||
- Technical specs: https://www.ni.com/docs/en-US/bundle/roborio-frc-specs/page/specs.html
|
||||
- User manual: https://www.ni.com/docs/en-US/bundle/roborio-20-umanual/page/umanual.html
|
||||
|
||||
## Notes
|
||||
|
||||
Chris says this is the last year for the roboRIO. SystemCore is the replacement — a next-gen controller that will eventually replace the NI/roboRIO stack. Teams will need to migrate code and potentially reconfigure motor controllers for the new platform.
|
||||
|
||||
This is a significant curriculum planning concern: teach students the current system, but prepare them for the transition. The programming patterns (PID, motion profiling, autonomous sequences) will carry forward even as the underlying hardware changes.
|
||||
Reference in New Issue
Block a user