After working through the night into Saturday morning, the team was able to program Raphael to successfully navigate the competition course in the 4th fastest time. Raphael lost to the 3rd place team by a mere 4/10 of a second, taking 4th place out of 12 robots, after being penalized 9 seconds for hitting 3 cones.
Mechanical work on Raphael was completed the Thursday before last. A new rear servo was installed to allow the robot to steer both the front and rear wheels. Our turning radius before adding the rear servo was dismal.
Raphael uses Player/Stage to interface with various systems. On Tuesday we finished writing a fiducial driver to filter laser data and only pass cone points through to the deeper control systems. Unfortunately, the k-means clustering that we based the driver on didn't detect cones very well and was computationally expensive. We didn't realize this until Friday, after spending a majority of Thursday testing the k-means driver and a couple other basic obstacle avoiding algorithms.
On Friday we implemented a new cone filtering solution. This time everything worked extremely well, the driver was able to detect every cone with a fairly low amount of noise. However, after testing well into Friday night, we realized that we needed a new control algorithm. Even with near perfect cone detection, Raphael could barely get past a handful of cones.
Shortly before the competition Saturday morning, we emerged with a new control algorithm that worked surprisingly well. Although we didn't get much time to test and tweak our new algorithm, we had the 1st and 2nd place robots in our sights. We cranked Raphael's speed up to almost 90% and let him go. Raphael completed the first lap flawlessly, but then on the last 1/4 of the last lap, Raphael swerved to avoid hitting a cone on its left side, only to slam into two cones and graze a third on its right.
Thank you to all our sponsors and everyone who came out to watch and cheer us on.