RoboGuy
11-18-2007, 07:06 PM
The Princeton Autonomous VehicleEngineering (PAVE) team chose Microsoft's proprietary Robotics Studio and theC# programming language as the development platform for their robot. Asit turns out, this choice may be partially responsible for their failurein the qualifying rounds. The robot exhibited a slowly deterioratingresponse time, which ended in complete software failure after about 40minutes. As a work around, they adopted a strategy of having a timerreboot their computers every 40 minutes. However, the problem turned outto related to garbage collection of memory used to store informationabout obstacles, which meant the more obstacles the robot saw, thefaster the software failed. In the qualifying rounds, there were manymore obstacles than expected leading to a crash after 28 minutes.Analysis of the code performed later with a proprietary .net codeprofiler revealed that under certain conditions, the C# garbage collectorwasn't freeing memory as the programmers expected. For more see PAVE teammember BryanCattle's more detailed description of the problem. A discussion ofthe incident can also be found in a recent Slashdotposting.
More... (http://robots.net/article/2400.html)
More... (http://robots.net/article/2400.html)