I was involved in the UW Robotics Team for the majority of my time as an undergraduate. I wrote a lot of code, made a lot of flowcharts, and did my fair share of hardware troubleshooting. I ran the team completely in the past, a job which quickly grew beyond what one person could handle. For my final design project, I also served as nominal team lead for the "Argo" project, which was the complete conversion of an off-the-shelf Argo ATV to a GPS guided vehicle.
Autonomous robotics are something that I've been exploring since I started at UW. Through the team, I've secured co-op placements with related companies, and I've also had the chance to work with a lot of inspiring people.
ALARM Project - Argo Team
The Autonomous LAndmine Removal Mechanism was the primary project of the UW Robotics Team for my last year an an undergrad. There were 9 4th year students tackling various key aspects of the system for their final design projects, and over a dozen younger students taking this opportunity to learn about robotics, engineering, and business.
I was involved with the "Argo" portion of this endeavour. The 6x6 Argo was converted to autonomous operation, and also served as a central communication and control hub for the multi-robot system that is deployed into minefields.
The Argo is completely autonomous, capable of navigating to arbitrary GPS coordinates at around 15 km/h. I also performed an independent study based around the use of a Takagi-Sugeno fuzzy controller to improve the steering behaviour. That was also a success, resulting in a vehicle which drove itself more predictably than I could.
It is my hope that others will take on this project and extend the system's capabilities into the realms of obstacle avoidance, mapping, and road following.
"Magellan" Project
I spent the majority of my time with the team working on this project. I joined the team as we were just doing the initial design for our first entry into the competition, in which we placed third. Much of the credit for the software on that entry goes to Adin, another team member who's since gone on to bigger things. For our next entry, we redesigned the entire mechanical chassis, and moved the high-level control software from C to Java. In fact, the new model was pretty much a brand new approach.
My main responsibility on this project was the control software, both the high-level mapping and path planning, and the low level motor control and sensor interfacing firmware. The system used an extended Kalman Filter written in Java to merge GPS and odometry information, and a fixed-size occupancy grid to store a global map. We were not attempting to do any sort of SLAM with the LIDAR, though the flexibility of the software platform definitely put it within reach. The computer running the JVM communicated with an MCU board via a custom serial protocol. The MCU ran a low-level motor control loop, estimated track speeds and travel from encoder inputs, and allowed the system to be remotely controlled from a standard RC transmitted. The firmware was written in C and ran on an Atmel AT91SAM7 microcontroller.
Below is a movie showing the path planning and mapping functionality being tested in the team's simulation software. The simulator generated sensor readings and could move the robot based on various outputs. (for the moment, track speeds) It had the ability to add noise and quantization to the sensor readings and motor outputs. The movie shows the control engine processing new sensor data into its internal map and modifying the intended route accordingly. The blue line is the current planned path and the small pylon image is the current goal location.
Three of us travelled with this system running on the "Marauder" chassis to the Robo-Games in San Francisco. This is the largest open robotics competition in the world, and we placed 4th out of 14 entrants in our specific event. Shown below is a video from a test we did in Mountain View right before the competition.
Mini-Sumo Competition
During my time with the team, I saw it grow to one of the larger student teams at the school. Since many current team members (myself included) came to UW and the team with no prior technical knowledge, we were familiar with the difficulty new members have with getting up-to-speed. In Fall 2007, we ran the first UW Mini-Sumo competition. For a minimal entry fee, we provided entrants with parts, a reference schematic, and a software API, as well as a large amount of technical support. In return, the entrants gain experience and confidence, as well as a shot at a prize. Though organizing this took much more effort than anticipated, it was a success, and the team now hosts a competition every fall which draw over 100 first year competitors per year.


