My name is Tyler Veness. I'm a graduate from University of California,
Santa Cruz with a bachelor's degree in Robotics Engineering. My hobbies
include software engineering, controls engineering, and teaching those
topics to high school students as the software/controls mentor of FIRST
Robotics Competition team 3512.
Projects
Most of my free time is devoted to writing software for robotic
applications. This includes contributing to WPILib and writing a book on
modern control theory.
A portfolio of my projects is available on GitHub.
Controls Engineering in FRC
- A practical guide to state-space control intended for high school
students
- Covers root-locus geometry and fundamentals of state-space control,
LQR, and Kalman filter design
- The latest PDF is available here
WPILib
- A C++ and Java library used by about 3000 high school FIRST Robotics
Competition teams
- Helped modernize C++/Java code base and APIs (JDK 8,
C++11/14/17)
- Managed community contributions of WPILib 2020 controls features
- Led development of state-space controls
library
- Made APIs use higher order functions instead of inheritance for
improved composability
- Wrote
TrapezoidProfile,
ProfiledPIDController, and
LinearFilter
- Maintained style guide for WPILib projects and wrote wpiformat
Python module to automate conformance
- Used Google's cpplint.py, clang-format, and custom checks and
transformations
Banana Piano
- Used analog input pins and pull-up resistors for using any object as
keys for a piano; human was ground
- State of pins was sent to client application via serial over
USB
- Used Arduino instead of Makey Makey (the inspiration), then ported to
BeagleBone with Python
Hackintosh-cxx
- Program for cracking lower alphanumeric passwords hashed with MD5
using computers in parallel
- Wrote benchmark for testing performance improvements; used
profiler
- Learned importance of data ordering in cache lines for
performance-critical applications
3dCapClient
- Showed location of the user's hand in three dimensions using three
large orthogonal capacitor plates
- Learned serial port over USB communication with Arduino and 3D OpenGL
rendering