York University Rover Team

Rover 2011

The York University Rover Team

I joined the York University Rover Team (YURT) in 2009. It was a team of undergrads with a goal to build mobile robots ("rovers") that compete in the annual University Rover Challenge (URC) in Utah and the NASA Lunabotics Mining Competition in Florida.

My major contribution was the electronics and embedded software for three generations of rovers: PCB design and fabrication, design and implementation of communication protocols for control, integration tests, wire management etc.

The 2011 rover in the Utah desert (robotics arm removed)

Besides the epic road trips to the Utah desert and the Kennedy Space Center in Florida (yes we drove there from Toronto, Canada), I also get to play with lots of cool toys, such as servo pan-tilt-roll units, mesh-capable RF modules, all kinds of sensors, optical rotary encoders, and single-board computers.

My primary work for the 2012 rover was the communication framework. The work is detailed here.

2011-12 rover in the Equipment Servicing Task (Hanksville, Utah)

Approaching the Equipment Servicing Task in the URC.

YURT 2012 @ Utah

Team photo in the Utah desert.

Software Architecture and Other

The rover control system consists of multiple computers and microcontrollers over regular TCP/IP and XBee networks. Various programming languages were used to implement the software: the user interface was written in Python and C#; the communication framework in C++; simulation and automated testing in MATLAB; microcontrollers programming in C.

Automated performance tests using MATLAB

A plot of one of the automated performance tests on the drive controller using MATLAB (click for details)

posing with the NASA judges

Our team at the NASA Lunabotics Mining Competition 2012 in Florida.

On our way to the Utah desert.


August 2012 - Won FIRST place in Robotics & Innovation Competition held by the Centre for Surgical Invention and Innovation (CSII)

June 2012 - Won FIRST place in Mars Society's University Rover Challenge (URC)

April 2012 - Python-C integration; real-time plotting with Python GUI (matplotlib)

June 2011 - YURT got SECOND place again; more photos here

April 2011 - Working on a pan-tilt servos controller and a PID controlled linear-motion rail for the 2011 competition in Utah.

June 2010 - YURT got SECOND place in Mars Society's University Rover Challenge (URC)

March 2010 - Controller for main drive motors completed

Team photo before a road trip.

Great times.


The official York University Rover Team website:


Facebook page: