Project

# Title Team Members TA Documents Sponsor
22 MULTI-MODE TABLE TENNIS TARGET TRAINING SYSTEM
Alice Xu
Ben Seo
Brandon Dang
Abdullah Alawad design_document1.pdf
proposal1.pdf
MULTI-MODE TABLE TENNIS TARGET TRAINING SYSTEM

Team Members:
Brandon Dang (bd16)
Ben Seo (seo58)
Alice Xu (alicex2)

PROBLEM

Shot placement and the ability to quickly adjust where the ball is directed are important skills in table tennis. Traditional accuracy drills often use tape, cones, or other passive markers placed on the table. These targets can show a player where to aim, but they cannot automatically determine whether the player successfully hit the intended location or record performance over repeated shots.

Reaction and placement drills also commonly require a coach, partner, or ball machine operator to repeatedly tell the player where to aim. This makes it difficult for a player to independently perform randomized targeting drills and quantitatively track their accuracy.

Our goal is to create an electronic table tennis training system that automatically selects target locations, visually indicates where the player should aim, detects ball impacts, and records performance. The required system will include a Rapid-Fire Placement Mode and a Serve Accuracy Mode. A Reaction Return Mode will be pursued as a stretch goal.

SOLUTION

The proposed system will consist of at least three low-profile electronic target pads placed on the opponent's side of a standard table tennis table and one central controller.

Each target will contain a rigid low-profile impact surface, piezoelectric impact sensor, analog signal-conditioning circuit, high-brightness LEDs, ESP32 microcontroller, wireless communication, and a custom PCB.

The targets will be movable so that they can be positioned at different locations on the table depending on the drill. Example locations include the left corner, center, right corner, short serve location, and deep serve location.

When a target is selected, LEDs around its perimeter will illuminate. The player will attempt to bounce the ball on the selected target. The piezoelectric sensor will detect the impact and report which target was struck to the central controller.

All targets will continue monitoring for impacts even when they are not illuminated. This allows the system to distinguish between a correct target hit, a wrong electronic target hit, and a shot that misses all electronic targets.

The three target units will use the same PCB and firmware architecture, with each unit assigned a unique software identifier.

The system will support two required training modes.

RAPID-FIRE PLACEMENT MODE

For Rapid-Fire Mode, the three targets will be positioned at different locations on the opponent's side of the table.

A player will receive consecutive balls from a training partner, an existing ball machine, or a controlled manual feed. The electronic training system itself will not be responsible for launching the balls.

One target will illuminate at a time. The player must redirect the incoming ball so that its first bounce on the opponent's side lands on the illuminated target.

After the correct target is struck, another electronic target is struck, or a configurable timeout occurs, the controller will automatically select and illuminate another random target.

A typical sequence would be:

1. Target 2 illuminates.
2. The player receives an incoming ball.
3. The player attempts to hit toward Target 2.
4. Target 2 detects the bounce.
5. The controller records a correct shot.
6. Target 1 immediately illuminates.
7. The drill continues with the next incoming ball.

The controller will record correct target hits, wrong-target hits, misses or timeouts, overall accuracy, and consecutive-hit streaks.

Target response time may also be recorded. If this feature is used, target response time will be defined as the time between target illumination and target impact. It will not be described as pure human reaction time because the measurement also includes stroke execution and ball flight.

The primary performance metric for Rapid-Fire Mode will be shot-placement accuracy.

SERVE ACCURACY MODE

For Serve Accuracy Mode, the same electronic targets will be repositioned to represent different serve locations on the opponent's side of the table.

Possible target locations include short left, short right, deep left, deep right, and center/body. At least three target locations will be used during the required demonstration.

Before each serve, one target will randomly illuminate. The player will perform their normal serving motion and attempt to make the legal serve bounce on the selected electronic target on the opponent's side of the table.

Serve timing will not be used as a performance metric because rewarding a faster serving motion could encourage the player to rush their normal technique.

A serve will be classified as one of the following:

Correct: The selected target was struck.

Wrong Target: Another electronic target was struck.

Miss: No electronic target was struck.

If a target is hit, the result will be recorded automatically.

If the serve misses all electronic targets, the player will press a Next Serve / Mark Miss button on the central controller. The previous attempt will then be recorded as a miss and another target will be selected.

The controller will maintain total serves, correct target hits, wrong-target hits, misses, overall serve accuracy, and, if time permits, accuracy for each target location.

SOLUTION COMPONENTS

TARGET MECHANICAL AND IMPACT-SURFACE SUBSYSTEM

Each target will be constructed as a low-profile impact pad approximately 10 inches by 10 inches. The final dimensions may be adjusted after prototype testing to balance target difficulty and reliable impact detection.

The initial target design will use a thin rigid impact plate made from polycarbonate, thin plywood, or another lightweight material that produces a consistent table tennis ball rebound.

The target will be kept below approximately 0.5 inches in total height.

Each target will include:

Thin rigid impact plate

Piezoelectric sensor mounted beneath the plate

High-friction rubber or silicone bottom surface

Protected LED perimeter

Small protected electronics enclosure positioned near the rear edge

The high-friction bottom surface will prevent the target from moving significantly when struck.

The LEDs will be positioned around the perimeter rather than in the center of the impact area so that the table tennis ball cannot directly damage them.

Because placing a target on the table changes the surface the ball contacts, the target material will be selected through rebound testing. A ball will be dropped from a known height onto both the normal table surface and the target plate. The target should provide a rebound reasonably similar to the bare table so that successfully hitting the target does not completely stop normal play.

The targets will be removable and repositionable so that the same three electronic modules can be used for both Rapid-Fire and Serve Accuracy Modes.

IMPACT SENSING AND SIGNAL-CONDITIONING SUBSYSTEM

Each target will detect table tennis ball impacts using a piezoelectric vibration sensor mounted underneath the impact plate.

The proposed sensor is the PUI Audio AB2036B piezoelectric element.

A table tennis ball impact produces a short mechanical vibration in the target surface. Because a table tennis ball is relatively light, the impact-sensing circuit will be designed and experimentally calibrated to detect small impact signals reliably.

The raw piezoelectric output may contain positive and negative voltage transients, mechanical ringing, environmental vibration, and electrical noise.

The piezoelectric signal will therefore pass through a custom analog front-end circuit before reaching the microcontroller.

The circuit will include:

MCP6002 dual operational amplifier

Input current-limiting resistor

Voltage clamping and protection circuitry

RC filtering

Adjustable or programmable gain

Adjustable impact-detection threshold

ESP32 ADC input

The microcontroller will continuously monitor the conditioned sensor signal.

The detection algorithm will approximately perform the following steps:

1. Sample the conditioned piezoelectric signal.
2. Reject low-amplitude background vibration.
3. Detect when the signal exceeds the calibrated threshold.
4. Identify the first impact peak.
5. Register one target hit.
6. Ignore mechanical ringing for a short lockout period.

Impact thresholds will be determined experimentally using actual table tennis ball impacts at several locations across each target.

If a single piezoelectric sensor does not provide reliable detection near the target edges, the mechanical design will support adding a second piezo sensor without changing the overall target architecture.

TARGET ILLUMINATION AND DRIVER SUBSYSTEM

Each target will contain high-brightness LEDs around the perimeter of the target surface.

The LEDs will allow the player to quickly determine which target is currently active from the opposite side of the table.

The LEDs will not be powered directly from the ESP32 GPIO pins. The custom PCB will include driver circuitry using an AO3400A N-channel MOSFET, current-limiting resistors, a gate resistor, a gate pull-down resistor, and an ESP32 GPIO control signal.

The target will support several visual states:

OFF: The target is inactive.

ACTIVE: The player should aim for this target.

SUCCESS: A brief visual indication after a correct impact.

WRONG TARGET: An optional alternate indication when an incorrect target is hit.

Different LED colors or flash patterns may be used to distinguish these states.

EMBEDDED CONTROL AND WIRELESS COMMUNICATION SUBSYSTEM

Each target will contain an ESP32-C3-WROOM-02 microcontroller.

The microcontroller will locally control LED activation, piezoelectric signal sampling, impact detection, impact timestamping, target identification, and wireless communication.

Performing impact detection locally reduces communication delays and allows each target to operate independently.

Each target will continuously monitor for ball impacts regardless of whether it is currently illuminated. This allows the system to identify a wrong-target hit.

For example, if Target 2 is active but the player hits Target 1, Target 1 will send an impact message to the central controller. The controller will recognize that Target 2 was active, record the shot as a wrong-target hit, and then select the next target.

Each target PCB will have identical hardware. Individual targets will be assigned unique software identifiers.

Communication between the targets and central controller will use ESP-NOW or another suitable peer-to-peer protocol supported by the ESP32.

CENTRAL CONTROLLER AND USER-INTERFACE SUBSYSTEM

A central controller will coordinate the training session.

The controller will include:

ESP32-C3-WROOM-02 microcontroller

SSD1306 0.96-inch I2C OLED display

Start/stop button

Mode-selection button

Next Serve / Mark Miss button

Status LEDs

Wireless communication with the target units

The controller will support at least Rapid-Fire Placement Mode and Serve Accuracy Mode.

During Rapid-Fire Mode, the display will show information such as the current trial number, number of correct hits, wrong-target hits, misses, overall accuracy, and current hit streak. If target response timing is enabled, the most recent and average target response times may also be displayed.

During Serve Accuracy Mode, the display will show the selected target, total number of serves, correct hits, wrong-target hits, misses, and overall accuracy.

The system will not place any timing requirement on the player's serving motion.

POWER SUBSYSTEM

The system will use external low-voltage power rather than custom rechargeable batteries.

Because all targets are located on a table approximately 9 feet long, a single external 5 V supply may be distributed to the target units using low-voltage cables routed along or underneath the table.

Each target PCB will include:

5 V power input

AP2112K-3.3 voltage regulator

Input and output decoupling capacitors

Local bypass capacitors

Power indicator

Input protection

The LED driver circuitry and sensitive piezoelectric analog circuitry will be physically separated on the PCB as much as practical to prevent LED switching from causing false impact detections.

CRITERION FOR SUCCESS

1. Multiple Target Operation

The system must independently operate at least three physical electronic targets and randomly select one target at a time.

2. Target Visibility

The active target must be clearly identifiable from at least 3 meters away under normal indoor lighting.

3. Impact Detection

Each target must correctly detect at least 90% of direct table tennis ball impacts during a controlled test of at least 30 impacts per target.

Test impacts will include multiple locations across the target surface rather than only the center.

4. Multiple-Impact Rejection

A single physical table tennis ball impact must register as no more than one hit.

5. Background Noise Rejection

Normal table vibration, nearby ball bounces, and LED switching must not create more than one false impact detection during a 5-minute stationary test.

6. Target Stability

During 20 representative table tennis ball impacts, each target must remain flat on the table and must not move more than 2 cm from its initial position after any individual impact.

7. Target Rebound Performance

A table tennis ball will be dropped from a fixed height onto both the target plate and the bare table surface.

The average rebound height from the target surface must be within 25% of the average rebound height from the bare table over at least 10 trials on each surface.

This requirement ensures that the electronic target does not completely absorb the ball's energy or prevent normal play.

8. Correct/Wrong Target Identification

When one target is active, the controller must correctly distinguish between an impact on the selected target and an impact on either of the other electronic targets.

During a controlled test of at least 30 total target impacts, the system must classify at least 90% correctly.

9. Rapid-Fire Placement Mode

The system must complete a drill containing at least 20 randomized target activations without requiring the user to manually select the target for each trial.

After a target hit or timeout, the next target must automatically be selected and illuminated.

The controller must record correct hits, wrong-target hits, misses or timeouts, total trials, and accuracy percentage.

10. Serve Accuracy Mode

The system must complete a serve-accuracy session containing at least 10 serves and at least three selectable target locations.

For each serve, the system must classify the result as a correct target hit, wrong electronic target hit, or user-confirmed miss.

The system must display overall serve accuracy at the end of the session.

11. Wireless Communication

Each target must successfully communicate activation and impact information with the central controller at a distance of at least 5 meters in an indoor environment.

12. Performance Recording

For Rapid-Fire Mode, the central controller must display:

Correct hits

Wrong-target hits

Misses or timeouts

Total trials

Accuracy

Current hit streak

For Serve Accuracy Mode, the central controller must display:

Selected target

Correct hits

Wrong-target hits

Misses

Total serves

Accuracy

13. Custom Circuit Design

Each target will use a custom PCB containing:

ESP32 microcontroller interface

Piezoelectric impact-sensor analog front end

Amplification and filtering circuitry

Input protection circuitry

LED driver circuitry

Power-regulation circuitry

At least three physical target units will operate using the same PCB architecture.

14. End-to-End Demonstration

During the final demonstration, the system must demonstrate both required training modes.

For Rapid-Fire Placement Mode, the system must:

1. Randomly select a target.
2. Illuminate the selected target.
3. Detect a table tennis ball impact.
4. Determine whether the correct or wrong electronic target was struck.
5. Record the result.
6. Automatically select the next target.

For Serve Accuracy Mode, the system must:

1. Randomly select a serve target.
2. Illuminate the selected target.
3. Allow the player to complete a normal untimed serve.
4. Detect a correct or wrong target impact.
5. Allow the player to manually record a serve that misses all targets.
6. Update the accuracy statistics.
7. Select the next target.

STRETCH GOAL: REACTION RETURN MODE

After the required Rapid-Fire Placement and Serve Accuracy modes are working reliably, the system will be extended to support a Reaction Return Mode.

In this mode, balls will be supplied by a training partner or existing ball machine. The target location will not be revealed until the incoming ball has been fed toward the player.

A feed trigger may be implemented using an optical ball-detection sensor near the feed source, a physical trigger button operated at the moment of feed, or synchronization with an available ball machine.

When an incoming ball is detected or triggered, the controller will immediately select and illuminate a random target.

The player must recognize the newly selected location and redirect the incoming ball toward that target.

The system will record the selected target, correct target hits, wrong-target hits, misses, and target response time.

Because synchronization with the incoming ball adds additional sensing and timing requirements, Reaction Return Mode will remain a stretch goal and will not be required for successful completion of the base project.

WHEELED-LEGGED BALANCING ROBOT

Gabriel Gao, Jerry Wang, Zehao Yuan

WHEELED-LEGGED BALANCING ROBOT

Featured Project

# WHEELED-LEGGED BALANCING ROBOT

## Team Members:

- Gabriel Gao (ngao4)

- Zehao Yuan (zehaoy2)

- Jerry Wang (runxuan6)

# Problem

The motivation for this project arises from the limitations inherent in conventional wheeled delivery robots, which predominantly feature a four-wheel chassis. This design restricts their ability to navigate terrains with obstacles, bumps, and stairs—common features in urban environments. A wheel-legged balancing robot, on the other hand, can effortlessly overcome such challenges, making it a particularly promising solution for delivery services.

# Solution

The primary objective of this phase of the project is to demonstrate that a single leg of the robot can successfully bear weight and function as an electronic suspension system. Achieving this will lay the foundation for the subsequent development of the full robot.

# Solution Components

## Subsystem 1. Hybrid Mobility Module:

Actuated Legs: Four actuator motors (DM-J4310-2EC) power the legged system, enabling the robot to navigate uneven surfaces, obstacles, and stairs. The legs also functions as an advanced electromagnetic suspension system, quickly adjusting damping and stiffness to ensure a stable and level platform.

Wheeled Drive: Two direct drive BLDC (M3508) motors propel the wheels, enabling efficient travel on flat terrains.

**Note: 4xDM4310s and 2xM3508 motor can be borrow from RSO: Illini Robomaster** - [Image of Motors on campus](https://github.com/ngao4/Wheel_Legged_Robot/blob/main/image/motors.jpg)

The DM4310 has a built in ESC with CAN bus and double absolute encoder, able to provide 4 nm continuous torque. This torque allows the robot or the leg system to act as suspension system and carry enough weight for further application. M3508 also has ESC available in the lab, it is an FOC ESC with CAN bus communication. So in this project we are not focusing on motor driver parts. The motors would communicate with STM32 through CAN bus with about 1 kHz rate.

## Subsystem 2. Central Control Unit and PCB:

An STM32F103 microcontroller acts as the brain of the robot, processing input from the IMU through SPI signal, directing the motors through CAN bus. The pcb includes STM32F103 chip, BMI088 imu, power supply parts and also sbus remote control signal inverter.

Might further upgrade to STM32F407 if needed.

Attitude Sensing: A 6-axis IMU (BMI088) continuously monitors the robot's orientation and motion, facilitating real-time adjustments to ensure stability and correct navigation. The BMI088 would be part of the PCB component.

## Subsystem 3. Testing Platform

The leg will be connected to a harness as shown in this [sketch](https://github.com/ngao4/Wheel_Legged_Robot/blob/main/image/sketch.jpg). The harness simplifies the model by restricting the robot’s motion in the Y-axis, while retaining the freedom for the robot to move on the X-axis and jump in the Z-axis. The harness also guarantees safety as it prevents the robot from moving outside its limit.

## Subsystem 4. Payload Compartment (3D-printed):

A designated section to securely hold and transport items, ensuring that they are protected from disturbances during transit. We will add weights to test the maximum payload of the robot.

## Subsystem 5. Remote Controller:

A 2.4 GHz RC sbus remote controller will be used to control the robot. This hand-held device provides real-time control, making it simple for us to operate the robot at various distances. Safety is ensured as we can set a switch as a kill switch to shutdown the robot in emergency conditions.

**Note: Remote controller model: DJI DT7, can be borrow from RSO: Illini Robomaster**

The remote controller set comes with a receiver, the output is sbus signal which is commonly used in RC control. We would add an inverter circuit on pcb allowing the sbus signal to be read by STM32.

Note: When only demoing the leg function, the RC controller may not be used.

## Subsystem 6. Power System

We are considering a 6s (24V) Lithium Battery to power the robot. An alternative solution is to power the robot through a power supply using a pair of long wires.

# Criterion For Success

**Stable Balancing:** The robot (leg) should maintain its balance in a variety of situations, both static (when stationary) and dynamic (when moving).

**Cargo Carriage:** The robot(leg) can be able to carry a specified weight (like 1lb) without compromising its balance or ability to move.

_________________________________________________________________________

**If we are able to test the leg and function normally before midterm, we would try to build the whole wheel legged balancing robot out. It would be able to complete the following :**

**Directional Movement:** Via remote control, the robot should move precisely in the desired direction(up and down), showcasing smooth accelerations, decelerations, and turns.

**Platform Leveling:** Even when navigating slopes or uneven terrains, the robot should consistently ensure that its platform remains flat, preserving the integrity of the cargo it carries. Any tilt should be minimized, ideally maintaining a platform angle variation within a range of 10 degrees or less from the horizontal.

**Position Retention:** In the event of disruptions like pushes or kicks, the robot should make efforts to return to its original location or at least resist being moved too far off its original position.

**Safety:** During its operations, the robot should not pose a danger to its surroundings, ensuring controlled movements, especially when correcting its balance or position. The robot should be able to shut down (safety mode) by remote control.

Project Videos