Fontana, CA – The good news is we have plausible explanations for why CB stalled, and also why it was scraping the walls in the tunnel. The first one is due to some errors in sensors and the second one indicates a fault in our code. Work is in progress to rectify both.Here is a little more detailed explanation for the robotics enthusiasts.
Like every team, we use GPS for getting the location of the bot. The location is measured in terms of latitude, longitude, and height above sea level. The GPS data is fed into another sensor called Interial Navigation Sensor. We are using RT3102 from Oxford Technical Solutions. The RT, as we call it, is a pretty sophisticated equipment. It fills in the gap between GPS readings. While a GPS gives location information five times a second, the RTgenerates the same information, and more, 100 times a second. It fills the gap by using some heavy duty physics equipment called accelerometers, gyro, and compass. There is a little more detailed involved. The raw GPS data, as used in cars for navigation, is very imprecise, with an accuracy of about 3 meters (which is about 10 feet). With that kind of accuracy, there is no way we can drive in a 10 feet corridor. We input to the RT a ‘differential GPS’ signal using C-NAV from C&C Technologies.
As with any program, the quality of output depends on the quality of input, which stated as a computing principle reads ‘garbage in, garbage out’.
When the GPS data has error within some tolerance RT and C-NAV together to a wonderful job in cleaning up the error. But when the error is very high, due to some atmospheric conditions, or just simple sensor errors, they cannot keep up.
The reason that CB stalled was due to some spurious error in the data received by RT and CNAV. The net result of the spurious data was that within about 1/100th of a second the bot thought it had dropped by 17 meter. That is more than the height of some houses.
Errors like these are what makes this challenge a grand challenge. If all the sensors were perfectly precise, life would be very simple. The challenge is in coping with sensor errors.
This is the first time we have directly experienced this situation. Amit, our lead in processing sensor data, along with Pablo and Suresh have worked out a strategy for dealing with spurious spikes location data.
The reason why CB scraped the walls of the tunnel is a little more intense. The short explanation is that we did not very well take care of the condition when the bot has inadvertantly hit something. In other words, we sort of assume that our algorithm is perfect and the bot will not hit anything. But if it does hit something, as it did, under that condition the algorithm does not behave well. In other words, our algorithm is not fault-tolerant.
Pablo and Suresh, the team responsible for obstacle avoidance, along with Dr. Tony Maida have worked out a strategy to address the above situation.
The bus I rented yesterday is coming in very handy today. The bus is really a house, with a living room and bed room. The bed room has been converted into a ‘cave’. The three of them are locked in it. We open the door, slip in food and water, and shut it back. They will be working in the cave through 10pm, the time when the garages close and everyone is asked to vacate the property.
Tomorrow early morning we get a practice run. A practice run is not on the NQE track. DARPA has cut out about 200 feet x 100 feet rectangles in the parking lot. We get to bring our bots there and try out changes in our algorithm. Our practice run is scheduled around 8am, but could be sooner if some other team does not take there slot.
– Arun Lakhotia