Zircon - An affordable, powerful, and customizable educational soccer robot kit for beginners
Abstract:According to Wikipedia, soccer is the worlds most popular game. Most children either enjoy playing or watching soccer. A soccer robot can introduce students to robotics and build valuable technical skills in an engaging and fun way of a soccer match.
I designed Zircon, a cheap, beginner-friendly, and customization-friendly educational robot kit for playing soccer with an infrared ball. Zircon is planned to be sold for under $150. It is specifically built to compete in the RobocupJunior Lightweight league. The microcontroller it is based on is the ESP32 with 8 Infrared sensors, 3 white line sensors arranged in a circular pattern, and two expansion slots compatible with UART and I2C. It is designed to be beginner-friendly, with an example program, while also making it easy for students to gain a deeper understanding of the electrical function and programming of the robot. Since the circuitry is exposed and the schematic available to the student, it is easy to learn and enhance the board with their own ideas. If programmed well, the robot itself has an extremely high potential to compete at the national level in the RoboCupJunior Soccer Leightweight league.
Kitano, Hiroaki & Asada, Minoru & Kuniyoshi, Yasuo & Noda, Itsuki & Osawa, Eiichi & Matsubara, Hitoshi. (1997). RoboCup: A challenge problem for AI. AI Magazine. 18. 73-85.
“RoboCup.” Wikipedia, Wikimedia Foundation, 2 Feb. 2021, en.wikipedia.org/wiki/RoboCup.
Additional Project Information
RoboCupJunior or RCJ was started in 1995 in Japan in order to build robots that could beat humans in a real-world soccer match. The first world cup was organized in Nagoya in 1996. In an RCJ soccer match, four robots, two on each team, play with an infrared ball on a 6x8 field with two goals, one blue and one yellow. The lightweight league has a weight limit of 1.1kg, a voltage limit of 12V, and has a size limit of fitting in a 22cm diameter cylinder. I founded a soccer robotics club in Princeton, NJ in 2017, and our team was fortunate enough to qualify and represent the United States at the 2019 RCJ in Sydney Australia. While learning many skills by competing on the world stage, I started a club to share my knowledge and passion for soccer robotics. I found many people wanting to join but would get stuck on the cost or complexity of building a robot either from an expensive kit or from scratch. Since I learned many technical skills by participating in RCJ, I will use them to create a solution to this problem.
Since the goal is an affordable, beginner-friendly, and customization-friendly robot kit, I know I would have to try and fail many times.
My plan is to design, manufacture, test, and repeat the main Printed Circuit Board (PCB) for the kit, reducing the cost and upgrading the efficiency every time.
The designing process will be done in KiCad (an open-source PCB designing software that has many advanced features compared to the alternatives) to make the files more accessible. The manufacturing requires the assembly of the PCB, electronic parts, and other parts such as the omnidirectional wheels.
Each round of design, manufacturing, and testing will bring to light new errors and able me to improve the design. Rapidly testing and debugging designs will be the key to this project.
controller - ESP32 devkitc
Infrared sensors - 8 of TSSP4038 with lowpass filtering
line sensors - 3 of SFH5701
ports - I2C and UART
motor drivers - vnh7100bastr
motors - 6v 15:1 gearmotor
battery - 7.4v 2s 1000mAh lipo
Questions and Answers
1. What was the major objective of your project and what was your plan to achieve it?
The three major objectives were: affordability, potential power, and customizability.
Affordability can be accomplished by vertically integrating as much as possible, which means assembling PCBs, manufacturing wheels, and developing a user-friendly code by myself.
The potential power is the potential the kit has to win in soccer matches. This would be achieved by equipping the kit with powerful yet cheap motors as well as incorporating LIPO batteries and many sensors.
Customizability is closely connected to affordability, so by reducing cost and making the kit more bare-bones, it becomes more customizable. My PCB has a port for vision systems and holes for mounting any custom designs. This helps achieve customizability and helps students understand the kit well enough to take the PCB design file and create their own robot from the design.
a. Was that goal the result of any specific situation, experience, or problem you encountered?
As the founder of Princeton Soccer Robots (A student club at Princeton High School that makes soccer robots to compete in RobocupJunior), I have experienced many new teams having to chose between learning advanced skills such as PCB design and 3D CAD before they would even get to program and to test their robot or having to pay an absurd amount of money for a kit that ends up being just another toy because it is so "polished". Both are costly with one being a path toward acquiring a valuable skill and the other just being a waste of money. Many teams would hesitate and struggle to even decide on what parts to buy because of the financial problem. Some teams eventually lost interest because progress stalled on how to divide costs before they even get started on designing, building, or testing.
b. Were you trying to solve a problem, answer a question, or test a hypothesis?
I was trying to solve the problem of beginner students needing an educational soccer robot kit that is affordable, powerful, and easy to customize
2. What were the major tasks you had to perform in order to complete your project?
I had to learn KiCad to design PCBs. I also had to figure out how to have as much of my PCB assembled as well as manufactured in China to increase reliability and decrease cost. I also had to figure out how to utilize a cheap microcontroller to the fullest. I ended up using all of the pins except the ones used for flashing the chip so that Zircon could have as many sensors as possible. I had to learn how to integrate motor drivers into a PCB and to divide high power lines from logic-level circuitry. I also had to learn how to solder reliably and quickly to maximize efficiency. I also needed to figure out the software side such as how to utilize libraries and write clean example code for others to understand as well as the standard debugging that goes along with prototyping hardware.
a. For teams, describe what each member worked on.
The team I am part of that holds the national title in RCJ Leightweight is Team Orion. We are continuing to design high-spec robots to compete in the next world cup. The idea of Zircon as a simple, affordable robot for beginners came out of the team, but I designed and built it by myself. In the future, I am planning on involving my teammates in 3D design to manufacture custom wheels to decrease the cost of wheels by an order of magnitude. I am also planning on involving my teammates in vision to make a computer vision system extension to Zircon.
3. What is new or novel about your project?
The cost performance of Zircon is unprecedented compared to other robot kits designed to be able to play soccer. An example would be LEGO Mindstorms EV3 which is a popular kit in this space. Zircon will cost about 1/3 of the EV3 and provide much more customizability compared to LEGO's fancy block-based UI and plastic box which hides the electronics. Zircon will have the capability of absolutely destroying a LEGO robot in a soccer match because LEGO robots are not built for soccer. They will fall apart extremely easily. On top of that, LEGO motors are painfully slow, LEGO sensors included in the kit are extremely few and expensive, and the block-based programming language is just not as efficient as C++. In contrast, Zircon can be modified with cheap, off-the-shelf sensors including cameras and radar.
a. Is there some aspect of your project's objective, or how you achieved it that you haven't done before?
I learned many skills designing robots for my own team competing in RoboCup Junior, but Zircon made me focus on things I did not have to worry about too much before such as cost and user-friendliness. With the team robot, if I understood how the robot worked and could fix it, it was mission accomplished. However, with Zircon I needed to make it easy for anyone to understand how the robot worked and how to fix it (with enough effort). With my team robot, the bottleneck was the weight limit and making things as light as possible but for Zircon the constraint was largely cost. I also tried to integrate the motor drivers on my team robot and failed, but with Zircon I succeeded to integrate the motor driver on the main PCB, which reduced the cost.
b. Is your project's objective, or the way you implemented it, different from anything you have seen?
The closest thing I have seen to Zircon is a kit from the company Daisen in Japan called TJ3B. The TJ3B is designed for the exact same competition (RCJ) and sells for $200. The major difference between the TJ3B and Zircon is power. While the TJ3B has two extremely weak plastic 5V motors, Zircon uses 3 powerful overvolted 6V motors. It may seem Zircon is close to the Daisen kit in price but it is not even close when comparing the speed, power, and sensors.
c. If you believe your work to be unique in some way, what research have you done to confirm that it is?
I have participated in many RobocupJunior tournaments and have researched the two most widely used kits: LEGO and, TJ3B (the kit from Daisen). Many of the robots in the competition are not made from kits but are self-made. I have searched online for Arduino kits but they are all either too expensive, not powerful enough, or lacking the capability to play soccer.
4. What was the most challenging part of completing your project?
The most challenging part was debugging my PCB design. I had to go through many prototypes that had flipped footprints, used unusable ports from the microcontroller, and under-rated motor drivers that heated up resulting in them breaking. Problems in the PCB can be very hard to pin down, as a malfunction in one part affects other parts of the robot as well.
a. What problems did you encounter, and how did you overcome them?
I searched the internet for motor drivers that were cheap, easy to solder, supported PWM control, and supported 5A at 7.4V. It was extremely hard to find one with all of those specifications and I could not find one that would be assembled by JCLPCB (manufacturing and assembling service I am using). This resulted in me having to learn how to efficiently solder SMD ICs. The trial and error involved in integrating motor drivers are very challenging, but I persevered.
b. What did you learn from overcoming these problems?
I learned to NEVER expect something to work on the first try. That also means that success might be just around the corner and to just keep going even if the problem seems to be too overwhelming. I also learned many practical skills: KiCad for PCB design, how to get PCBs not only manufactured but assembled, and the business side of technology.
5. If you were going to do this project again, are there any things you would you do differently the next time?
If I were to do a similar project, I would keep the rapid testing-based approach, but I would be more careful about careless design misses such as accidentally deleting tracks or nets.
6. Did working on this project give you any ideas for other projects?
Working on this idea has given me many ideas in terms of building products that have logic circuits inside them. In order to build high-quality products, I will most likely need to learn how to make chips that go on my PCB. Some of the future ideas include an automatic meal cooker and stocker, automatic laundry machine, and smart wearable devices.
7. How did COVID-19 affect the completion of your project?
COVID-19 did not affect the completion of my project that much. It was a solo project and the only additional obstacle was the longer delivery times of the PCBs and electronic parts.