The development is mainly categorized into three sections: Mechanical, Electronics and Software.
1. Mechanical
For the mechanical part, a chassis with four omni-directional wheels will be used. Omni-directional wheels allow fast movement in any direction without changing the orientation of the vehicle. About the mechanism, a roller will be used for picking up tennis balls, with a basket at the back storing the balls. The tennis balls will be sucked into the basket by the roller once the robot approaches them. A depth camera will be mounted on top of the roller for both recognizing the tennis balls in the court and performing collision avoidance. The mechanisms will be designed using SolidWorks and manufactured using CNC and waterjet equipment in InnoWing.
2. Electronics
For the electronics, 3-phase motors will be used with Field Oriented Control (FOC) and AS5407 encoder to have high efficiency and accuracy control. VESC, which is a simple and open-source motor controller, will be used to control the motors on the robot. An Ultra-Wide Band (UWB) module will be installed on the robot, and 3 or more UWB modules will act as beacons to communicate with the robot’s one to perform UWB-based localization.
3. Software
For the software, it is currently planned to use a Raspberry Pi 5 as the robot computer, running Ubuntu 24.04 and the Robot Operating System (ROS) 2 as the middleware for our programs. If the computing power is not enough during our development, Jetson series or UP Board series embedded computers might also be considered later on.
3. 1 Chassis Kinematics
Forward kinematics (FK) and inverse kinematics (IK) of the omni-directional chassis will be implemented to allow the robot to know how far the robot moved and to move the robot with a specific speed respectively. The FK will be further used with the yaw data integrated from an Inertial Measurement Unit (IMU) to perform dead reckoning robot localization.
3. 2 Robot Localization
Since the wheels might slip and IMU drifting will occur, using data from these two sources alone is not enough for prolonged usage of the robot. Sensor fusion with an UWB-based localization system using the predictor-corrector method will be used.
Traditionally, SLAM-based localization using LiDAR would require the site to have walls for identifying the site features, which is not available in outdoor tennis courts surrounded by nets only. Reflective surfaces and sunlight might also interfere with the LiDAR operation. It would limit the robot to only be usable indoors.
In contrast, UWB positioning does not have this requirement, and it is applicable for both indoor and outdoor environments by setting up 3 or more beacons in the site. It can provide accuracy up to 10cm, which is reasonably enough for our application to just locate the home position and boundaries of the robot that it can travel. Thus, it is decided to use this type of localization instead.
3. 3 Object Recognition
To identify the tennis balls in the court, we have to experiment with two ways to perform object recognition. First, we could attempt to use the Point Cloud data retrieved from the depth camera to be clustered into multiple point cloud using Euclidean cluster extraction and try to fit each cluster into a sphere model with sample consensus (e.g. RANSAC) However, there is a concern that such a method might not work with a noisy environment, such that players are walking around and might misrecognize other objects such as tennis balls. Object recognition by training a neural network model is also considered in our project.
3. 4 Dynamic Path Generation and Tracking
Dynamic paths will be planned from robot’s current position to the target tennis ball location. The generation of paths may be achieved by using a simple point-to-point segment. In case of known obstacles on the court, an optimal path could be generated by discretizing the court into grids with different weights and searching for the shortest paths by some efficient algorithms, e.g. A*.
Path tracking will be achieved via the use of geometric path tracking algorithms, e.g. Stanley Control or tangential PID control by closest point. It allows robots to follow a planned path to get to the target tennis ball. Performance of path tracking would greatly affect the time needed to retrieve the ball.