In this piece we’d like to go into a bit more depth about the robotics kit we lend out to teams during our events. We hope that this will be useful to anyone interesting in running a robotics event, or even just designing a bot of their own.
The core of the Source Bots kit is a Raspberry Pi 3, chosen for its high performance and excellent embedded Linux support at an affordable price. It has a wide variety of input/output interfaces that suit our needs, including USB for communicating the rest of the kit, Bluetooth for receiving information from the match scheduler, and WiFi for remote maintenance. In the past we’ve chosen more niche boards, but we typically find ourselves stuck with a board that is no longer manufactured. The Raspberry Pi isn’t going anywhere soon, so we’re more confident with keeping it around. We also include a webcam with the kit for use with our computer vision library, which is based on the AprilTags fiducial marker system and handles all the mathematics needed to find the real world coordinates of all of the markers visible in a webcam photo.
Power is provided to the robot by a 2200mAh 3S lithium polymer (LiPo) battery, about the size of a harmonica. It’s connected to the other electronic systems in the robot via a power distribution board, which protects against many hazards resulting from short-circuited outputs and flat or miswired batteries. This board connects to another custom board, which is used to control a pair of bidirectional brushed DC motors suitable for use as the robot’s main drive. Both of these boards are custom open source designs, available on our Github.
We had a number of objectives in mind when designing the kit. The first and foremost is that it must be safe to handle, not only in normal operation, but in as many conceivable failure situations as possible. Since many of the users don’t have much experience with electronics the kit must be able to survive many common mishaps, such as power connectors being wired the wrong way round - trust us, this happens a lot! LiPo batteries have the potential to catastrophically fail if too much current is drawn from them or if they are otherwise misused, so we ensure that the power electronics has sufficient protection built into the hardware and firmware to prevent a hazard from occurring.
As we build our kits for adolescents who probably have never been formally taught electronics, another objective is that the kit should be accessible to people with little technical knowledge. Our hope is that our events will have the greatest impact on those who have little or no engineering experience and aiming to make the kit intuitive to put together and use is an important step towards accomplishing this. On the hardware side, there’s a tradeoff between this and modularity/reliability, but we think we’ve found a good balance: our kit has about 6 or 7 discrete units that can simply be wired together. The software takes care of the low-level programming required to communicate with the rest of the kit and provides an easy-to-use API for controlling motors and processing input from the webcam.
A third objective was that the kit should be cost-effective. We are a not-for-profit organisation, and therefore it’s important that we make the kits cheap. If we can’t give them away for free, we will endeavour to produce guides on how to assemble a similar kit out of low cost off-the-shelf components, and ensure that our software is compatible with these parts.
Lastly, we want our kit to be fully open source. Our aim is to make all of our software and hardware designs free for everyone to use for whatever purpose they may wish, such as their own robotics projects. We’re still sorting out the licensing for a few of our forked repositories but all of our original work is already available under the MIT license and can be found on our Github page.