Hello and welcome back the Digilent Blog!
In today’s blog post, I will formally introduce to you the BeagleBone Black SumoBot, but you can just refer to it as the “Superior SumoBot” for short.The goal of the project was to build two Fingertech Cobra SumoBots and controllers – one pair using the BeagleBone Black and one pair using the Raspberry Pi. Both were to be programmed in LabVIEW. Reference this Instructable to see how to build the entire project.
In order to make the Sumo aspect come to life, Austin and I built a Sumo Ring. The ring is an all black circle with a white border. The two bots must fight, and the round is over when a bot is pushed out of the ring.
A quick glance at the image above and both bots may seem equal, but one must bear in mind that the BeagleBone Black is a little inconspicuous. It’s trying to stay hidden. But it’s watching. Waiting.
But before we can explore the aggressive side of the BeagleBone Black’s final form as the better SumoBot, we must first consider it’s origins.
At the beginning of this kind of project, naturally one’s first question would be something along the lines of “Where can I find superior brain power that compares to that of an alien species?”.
The BeagleBone Black is the answer to that question. And all other questions.
The bot kit includes a scoop that screws into the front for extra shoving power and a steel plate
for additional weight closer to the ground.
In order to control the bot, we placed our board on a 3D printed controller. The controller uses two PmodJSTK2’s and a large battery pack that we strapped to the
We control the analog outputs and the voltage with two Pmods mounted beside the BeagleBone on the bot. We use the PmodAD2 to convert the analog outputs from the sensors on the bot to digital inputs that the BeagleBone can read. The second Pmod we use is the PmodVLSHFT.
The controller and the bot communicate over WiFi, or in more technical terms they use UDP. The bots and the controllers are all programmed in a fairly hefty LabVIEW project.
The code is split between a controller mode and an autonomous mode:
The manual code is above. The BeagleBone will take in commands from the PmodJSTK2’s and continue on until any of the three sensors see white. Once that happens, the motors stop and the “Sumo-round” is over. To reset for another round, the bot can just be moved back into the ring and you can hold both triggers on the controller to restart the motors.
The autonomous mode is fairly straight forward. Since the Sumo Ring is a black panel surrounded by white borders, the bot runs around half speed until any of the senors see white. When it senses white, it turns until all sensors see black, and then drives straight until it hits white again.
This may seem easy to understand since the bot’s world is quite literally black and white. But don’t be mislead… the BeagleBone Black is a complicated creature.
Sure, there are two SumoBots. They have the same chassis, motors and are equipped with the same batteries. Despite all these similarities, the brain is different in the Raspberry Pi bot vs the BeagleBone Black bot. And you can trust me and my completely unbiased opinion, when I say I think we all know who is the superior life form.
I attest that my build featuring the BeagleBone Black will reign supreme in any competition against Austin’s Raspberry Pi. In the SumoRing, outside the SumoRing, any number of encounters. Any type of match. It’ll be watching. Waiting.
Come see the showdown for yourself at this years NI Week in Austin, Texas! There we will find out for certain who deserves the title of the “Superior SumoBot”. Catch us at booth 140 this week!