York University Rover Team
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 focus 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.
Approaching the Equipment Servicing Task in the URC.
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.
Our team at the NASA Lunabotics Mining Competition 2012 in Florida.
On our way to the Utah desert.
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)
April 2011 - Working on a pan-tilt servos controller and a PID controlled linear-motion rail for the 2011 competition in Utah.
March 2010 - Controller for main drive motors completed
Team photo before a road trip.