robotics · computer vision
FRC Robot Vision
Camera frames in, robot field pose out — on a Jetson, at competition speed.
- C++
- ROS 2
- CUDA
- OpenCV
- NetworkTables 4
- Python
- Isaac Sim
- problem
- An FRC robot needs to know exactly where it is on the field, which means detecting AprilTags and solving for pose in real time on a power-constrained Jetson — with latency low enough to steer by.
- approach
- Built ROSVision, a ROS 2 package for the Jetson Orin Nano: CUDA-accelerated tag detection via NVIDIA Isaac ROS, optional solvePnP refinement, multi-tag SQPNP fusion into a single field pose, and publishing to NetworkTables 4 in PhotonVision-compatible conventions — plus a competition-day calibration dashboard that persists settings across reboots. Alongside it: a portable CPU-only C++ AprilTag pipeline and Isaac Sim Python scripts for generating synthetic 2D/6D pose training data.
- result
- An end-to-end pipeline from camera frame to robot pose in the field frame, streamed live to the roboRIO — with an offline stub mode so the whole pipeline runs without robot hardware.