Let’s go Electric Donkey 🏎
ACF Startup team “Electric Donkey” field trip to
Donkey Car Meetup in Oakland
A couple of weeks ago, we drove to Oakland to go to a Donkey Car meetup. Donkey Cars are essentially self-driving RC cars, and we(aka “Electric Donkey” team) have been using it and learning about self-driving. Hence, naturally, we thought it would be a great idea to attend a gathering of Donkey Car enthusiasts and hobbyists at Oakland during their quarterly in person meetup. The event page promised the barbecue lunch and a completely autonomous race, so why not and everyone was looking forward to it. 🍖 🏎
When we arrived at 8:30am in the morning and climbed up to the second floor of the building, we were surprised to find not just the race course and some tables set up, but also an entire maker-space that wasn’t being used on that day. After taking a quick tour, we found a place to sit down and started to get our two cars ready to race. A lot of other people were also setting up, and we found that we were the youngest team there. Because of this, all of us were motivated to do our best.
In the competition, there were several competitors training their cars based on “Donkey”. Donkey is a cool software that allows individuals to train a self-driving RC car relatively easily. In order to set up a donkey, we had to go through official donkey car documentation in setting the car. We had to go through multiple errors throughout the process. However, the instructions were clear until initializing the car. We could successfully drive the car by typing in some commands, but training was the problem. Donkey car automatically takes hundreds of images when it drives, collecting data. It gets stored in the data folder of the onboard Raspberry Pi, then we can send those files to another computer and train, at last sending the trained Tensorflow model back. Our problem was that our laptop and Pi were both too slow for training the data. Therefore, we figured out a way using Google Colab and its awesome cloud resources to train more efficiently and faster. We had just completed the process before the meetup, so now it is time for us to work on some advanced training.
About half an hour later, we ran into our first problem. We needed to use a micro SD card to transfer data from our laptops to the Pi, but the card reader that Tony brought was broken. Fortunately, we asked around and someone was kind enough to lend us their spare. Then we had another problem: one of the cars’ wheels wasn’t turning, and we weren’t sure why. We took it to a man who was working near our table, and he suggested that we try to troubleshoot by figuring out which part was broken. With his help, we figured out by switching some wires with the other car that the servo wasn’t working. We were very thankful that he was willing to give us advice, since he is more experienced. With the other car, which was working, we spent some time driving around the track and taking data for training an autopilot.
Afterwards, we went outside to grab lunch. As we were waiting in line, we met an AI engineer from Apple. After telling her a little about our team and our project, she offered us feedback. One thing she suggested we consider was how our product would be unique, since many autonomous vehicle startups specializing in various areas already exist. After our conversation it was time to eat lunch, which was Brazilian BBQ. There also happened to be a robot that was able to cook tacos by itself in the front of the building’s entrance, which was cool to see. We had a good time eating all of the different food they had for everybody there.
Finally, it was time for the race. Everyone raced really well, and there were a variety of different techniques being used by each racer to make cars drive by themselves. For example, one car took pictures of the ceiling to map out the race course and drove based on that. A few other cars, including ours, used the Donkey software instead. Even though we ended up not racing, we still had a good time watching the other cars.
Those races weren’t the end, though, because there was a demolition derby. It was apparently a race where anything with wheels had to participate, so we went in. Unfortunately, we forgot to turn on the car and it couldn’t move, so it just stood in place as a flat green car sped into it and completely demolished the back end. Although our car got pretty beat up, it was an extremely fun day for all of us.
Finally, it was time to go, and we said our goodbyes. We all think that we got a lot out of the meeting, and are planning to attend the next one some time in December. Hopefully, we can compete in the races this time, and be able to beat some cars in races.