About the project
We are creating an autonomous vehicle that can drive along an unknown track, changing speeds and stops when it is told to.
Platforms: Arm Mbed
Estimated time: 6 weeks
Items used in this project
We are team GVB West. Two years ago we participated in the 2019' s NXP Cup which didn't go so well. After taking a right at the first corner to the left it was clear to us that there was a lot about our car that could be improved. Since then we have worked hard to improve ourselves. We upgraded to the new DFRobot kit with brushed motors using the Pixy2 as our camera.
The camera that we used on our previous car had a resolution of only 128 x 1. This allowed us to implement a line scan algorithm that used a one dimensional array containing grayscale values. This algorithm just looked at the difference in grayscale values between the 128 pixels of the camera. Because the track is white and the edges black there should be a large difference between the pixels in the array that display the edges. We used the same algorithm for our new car but the Pixy2 allowed us to make a lot of improvements. The most important thing might have been the auto-white balance setting on the Pixy2. Because the room where the race was in had way more natural lighting than the room that we practiced in the extra light practically blinded our car causing it to not even complete one lap. Additionally our car now has a depth of view. Because we now have 208 one dimensional pixel arrays we could get our data from. The algorithm looks ahead on the track by picking a line higher up on the image sensor based on the distance of the first line in front of it. If it gets close to this line.
Our team tried to do the obstacle avoidance challenge but we did not succeed. At first it looked like our algorithm for the race also spotted the obstacle but after further testing we found out that it doesn't spot it for long enough to actually avoid the object. In the end we didn't manage to make it work.
On the final day before the race, we had two challenges left. Finding the optimal code parameters for the race and spotting the finish line. Sadly it took a lot of time to get started that day because of a big code clean up the night before. Some things went wrong during the clean up and the car didn't drive until the late afternoon. The car now does not stop for the finish line but we are able to go fast.