Test run at the track 04/13/2009Posted by aliasmrjones in The Build.
After installing a new gps and compass in previous posts, we took the Deathpod to a parking lot for a test run around a simulated track. The results were not bad. The car went around the track at 30% throttle and 50% throttle. At 50%, it tended to spin out and fishtail in the corners so I added some logic to slow down as it approaches a waypoint. As testing went on, the gps error started causing problems. The car starting hitting some cones, which represented the building. But, there were some laps where it missed hitting any cones so I thought things were looking good. I decided to head up to Boulder for a lap around the real course.
We walked the car around the building and set waypoints at the corners. After starting the car, it tried to cut the first corner too short and headed for the curb. We moved the car over and after heading around the turn, it went straight down the side. It had a couple more curb incidents and it wouldn’t have made a complete lap on its own.
We decided to try more waypoints and it only made the problem worse. There is a pond on one side of the course and Deathpod apparently was feeling a little warm because it really wanted to go for a swim. After a number of attempts, it didn’t make it all the way around the building without incident once. The major problem was gps error and some relatively tight straightaways.
I don’t think I mentioned that I connected the r/c receiver to a pin on the atmega32 so I can read the rc pulses as a failsafe. It doesn’t actually do anything with the rc pulses other than count them. If the count keeps going up, it keeps driving. If the rc pulses stop, the car cuts throttle. This way, when Deathpod decides to go for a swim, I can stop the car before he gets to the water by simply turning off the rc transmitter.
My original plan was to navigate using only gps and compass, but it became clear that the car will need abstacle avoidance. If there are cars in the parking lot, Deathpod will need to go around them. More importantly, it will need to stay within the curbs to keep it from going into the pond! I have both sonar and infrared distance sensors. I think sonar will be better for general obstacle avoidance, but I don’t know if it will work for curbs. In the next post I will describe how I read the rc servo pulses from the receiver and then I will talk about connecting and testing the sonars and infrared sensors.