Ping Pong is a fun, fast-paced sport that attracts players of all abilities due to its simple rules. But when it comes to robots playing ping pong, it’s not so straightforward.
Words by Yang Chen
Robotics is the science behind the design and manufacturing of robots. A robot is a programmable mechanical device that can perform tasks and interact with its environment, without the aid of human interaction. It can be the perfect helper for humans and solve many problems across different industries, including sports.
The two biggest obstacles for the robot when playing table tennis are: tracking the fast-moving ball and hitting accuracy. These are difficult problems that are common in other areas of robotics research; perfecting these kinds of complex tasks can allow for the application of robotics across various industries. From Space exploration to the deep sea, agriculture to manufacturing, from health care to food preparation; robots have been playing an increasingly important role in our technology-driven world. They can do physically demanding tasks that are difficult or even impossible for humans, with the added benefit of Artificial intelligence (AI). AI Robots have shown their potential in helping humans with increasingly complex tasks in areas of customer service, psychology, and even education. This project has focused on the use of robotics in sports.
Robotic sport is a fast-growing field where technology and sport science are working in tandem. In 2017, the world’s first table tennis tutor robot was made. At the 2018 Winter Olympics, Czech athlete Ester Ledecká made history by winning two gold medals, and soon after she was defeated by a diminutive robot created by students at the University of Manitoba. In 2020, a robot called Curly beats a team of expert human athletes in curling matches. The Athletes of the future can be taught with, and even be challenged by, robotic opponents. Moreover, there are already many robotic sporting events such as robot soccer, robot combat, and robot racing.
My robot, The Juggler, has the ultimate goal to keep the ping pong ball airborne for more than 60 minutes. The robot is designed to measure the current position of the ball in three-dimensional space, determine the impact parameters for a desired height over the ground, and calculate the ideal movement of the robot for keeping the ball bouncing. This includes the orientation of the racket for reflecting the ball straight upwards, whilst correcting deviations over time.
The Juggler is an open-source design that has four major components. First, the body has 68 machine parts with four stepper motors that are each connected to an arm, with a see-through acrylic ‘racket’ on top. Through the coordination of the arms and motors, the Juggler is able to ascend, descend and tilt the racket to strike the ball. Next, the Juggler has a camera at the bottom that serves as its vision. It is mandatory that this robot can execute ball juggling in real-time; theoretically, a higher rate of frames per second (FPS) should yield better results because the camera would supply more frequent image updates to the juggler. However, there is a practical limitation to having a high FPS rate as the processing of the image data stream may be slower. To solve this, we decided to utilise event-based detection. This technology generates pixel events with a microsecond temporal resolution to indicate changes in light. When local changes in light are detected at a certain threshold, an ‘event’ is captured. This camera has lower processing and power requirements and provides an accurate, real-time estimation of dynamic object motion. Thirdly, a Teensy 4.0 Microcontroller will listen for movement commands as well as generate pulses for steeper motors. A microcontroller is a small computer that allows the functions of the robot to be controlled. The microcontroller has a frequency of 600 MHz; a high frequency is important for the Juggler because we need the stepper motors to start and stop smoothly, and the spacing between the pulses needs to increase/decrease at a non-linear speed. A regular microcontroller only provides 16Mhz clock speed which is insufficient for this robot. The last crucial component of The Juggler is the software that runs on Unity (a cross-platform game engine). It’s responsible for processing all the complex calculations. It uses the image data stream captured by the event camera to determine the position of the ball in three-dimensional space. It does this through the Circle Hough Transform recognition algorithm- this is a feature extraction technique where the detection of circular shapes (in this case, the ball) in imperfect images can be extracted. Next, it will calculate the velocity of the ball and use both velocity and position to determine the correction-tilt of the racket. Finally, it uses Inverse Kinematics (complex mathematical equations) to calculate how much each motor needs to rotate to get the racket to the desired height. The result is then sent to the microcontroller to execute the desired movements and adjustments.
Building robots can be an extremely expensive process with an extensive workload; we want to encourage other researchers in the community to investigate more possibilities of robotic sports. Therefore, we’ve sacrificed part of the stability of the robot by modifying the design of The Juggler, from its dimensions to the choice of material, to improve its affordability and time of assembly. We hope these decisions encourage other robotics research teams to try their hand at designing robots for sports.
With its designated supervision team, the network of researchers and experience of postgraduate academic life, the Junior Research Associate scheme (JRA) stood out to me as a great opportunity, therefore I actively approached my supervisor (James Knight, Research Fellow) with my research proposal. Being a JRA takes commitment and hard work, but it is unarguably an incredible opportunity to learn from experts in your field of interest. Intellectual curiosity resonated greatly within my supervision team through their dedication to their work. The journey of the JRA has proliferated my understanding of robotics and enabled me to recognise the growing salience of this field. It has helped me to understand where I wish to specialise my focus going forward and provided me with skills that will propel my future in research.