Evan Pratten
Evan Pratten
Software Developer

I was a member of Raider Robotics (a competitive robotics team) from 2017 through 2021.

During my time on the team, I was the lead software developer. This role involved devising and giving lessons on embedded programming to other students, creating high-level system designs, coordinating a team of other developers, and writing code (lots of code).

Alongside my software development responsibilities, I also worked very closely with the mechanical team to design and implement complex physical systems to high standards.

Personal specializations

Outside of the general work that comes with building high-performance machines, I found interest in a few specific areas:

Computer vision

I built three OpenCV-based vision systems for the team, each drastically improving upon the last.

The first two were based on hand-tuned color, shape, and edge detection algorithms. These systems were used to detect position deltas of game elements and scoring targets.

By obtaining real-time position deltas in robot-space, I was able to build path planning and following algorithms that allowed robots to autonomously navigate the world based on vision data.

My first ever attempt at vision-based path following

A different robot using computer vision to validate the position of a target

Using VISLAM to navigate to a point in space

Robot Locomotion

I also developed a deep fascination of robot locomotion. I spent a great deal of time learning about the physics involved in making things move, and a greater amount of time learning how to make them move to where I wanted them to be.

Some systems I developed as a result of my learnings were:

Robots I've worked on

The following are robots I've worked on at Raider Robotics:

Lib5K

My final large project at Raider Robotics was Lib5K, a software library that was designed to make everything I learned over my time at Raider Robotics available to and easy to use for future students.