During NI week, my fellow LabVIEW intern Ella wrote a blog post titled “BBB SumoBot: The Superior Being“, where she makes the claim that her BBB Sumobot will “reign supreme in any competition.” Luckily, I am no stranger to this type of psychological warfare, so her words only served to strengthen my resolve. My Raspberry Pi 2 SumoBot was stronger than ever, so I chose to let it do the talking.
When the Keynote ended Tuesday, the Expo hall filled with people and within seconds we had a line of people waiting to play their part in our battle. We soon found that the bots were more evenly matched than we had expected, and the human driver seemed to be the most important factor. However in response to Ella’s claim that her SumoBot is the “superior life form” I have put together a video.
Our rivalry quickly lost importance though when we realized we needed to work together to keep the SumoBots working. Luckily after spending countless hours debugging these types of projects, we learned enough and we were prepared to deal with all the problems that came our way. Below is a list of tips I have complied for pulling off a great live demo.
Bring Backups of Everything:
You have to be ready for anything when you prepare for a demo. About an hour before the Expo closed on Monday, a particularly nasty crash broke the BeagleBone Black on the SumoBot and we were forced to switch to our backup BeagleBone. Luckily we already had another BeagleBone Black ready, and we were able to have it up and fighting again in no time. For a live demo, you need to expect that anything that can break probably will. So make sure you bring backups of everything (within reason).
Use Hot Glue…But Know How to Solder:
A hot glue gun and a soldering iron are staples for most demos. Once you have the wiring set up correctly, I highly recommend hot gluing the wires before transporting it anywhere. Especially with a demo like the SumoBots, if the wires weren’t glued in they would come out every time they crashed. Gluing all the wires saved us a lot of time… that is until the BBB SumoBot hit the RPI SumoBots wires just right. The female motor control header was pulled right off of the board and unfortunately, this problem could not be fixed with hot glue. This is when the soldering iron saved the day.
Don’t Rely on WiFi:
There’s a lot of risks involved with any demo that relies on WiFi, I would advise against live demos that involve a wireless internet connection. If it’s necessary though there are several ways to reduce the risk. First of all, it is always a good idea to bring your own router. This will save you a lot of time since you don’t have to worry about setting up your devices on a public network and you won’t have to compete with every other person on the network. Another thing you can do it set up static IP addresses for your devices beforehand by logging into your router. No matter how much time you put into trying to imagine and prevent every issue there is always a chance that everything will go wrong, so when it does make sure you have a backup plan. For our SumoBots, we created an autonomous mode for our robots so they could drive without needing to be controlled over WiFi. Another way to prepare for this issue would be to have a video of your demo that you could show just in case.
Be Ready and Flexible for Last Minute Changes:
It is very important that you try and practice your demo at least once at the venue beforehand, you don’t want any surprises during the actual demo. Even if you do have a chance to practice you won’t have a lot of time so it is very important that you are able to quickly make those last minute adjustments. With the SumoBots we found out that the line sensors on our bots weren’t working correctly because of the reflective material of the real sumo ring read as a different voltage than the white paper we tested on. Luckily we had all of the sensors threshold values set as controls on the front panel so we were able to quickly change them
Test, Test, and Retest:
This may seem obvious but I actually learned this lesson when I interviewed for my position at Digilent. To find out whether I was a good fit for the position I was tasked with creating a project using LabVIEW. I finished my simple fan control project (picture shown above) the night before I had to present it, I ran through my demo once and it worked perfectly so I felt pretty confident. When I came in to demo my project the next day I couldn’t get it working at all, I had to spend several hours debugging my project before I was able to present my demo. The problem with my project ended up being a wiring issue that occurred while I was transporting the demo. If I had been more comfortable with my code I would have caught this quickly but since I had never run into these errors I didn’t know how to deal with them. That why it is so important to spend a large amount of time finding all the possible issues with your demo so you will not be blindsided.
If you are interested in creating your own bots I would recommend buying the LabVIEW Physical Computing Kit for BeagleBone Black or the LabVIEW Physical Computing Kit for Raspberry Pi 2 if Raspberry Pi 2 is more your style. Both come with LabVIEW 2014 Home Bundle, this is currently the only version of LabVIEW that works with LINX.
Hopefully this was helpful for next time you present a project or demo live, and thank you for reading!