Skip to content

About

LabVIEW simulation of a reaction time training system for Karate-Do athletes with visual and auditory stimuli, 3x3 strike matrix, per-athlete Excel logging.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

Karate-Do Reaction Time Measurement System

A LabVIEW-based simulation of an integrated stimulus and measurement system designed to train and evaluate reaction time in Karate-Do athletes. Built as a Mechatronics Integration Project at UPIITA, IPN around September - December 2023.

Team: Jorge Andrés Conde Jaimes · Luis Alberto Pérez Sánchez · Jalil Yael Ali Ramos Garduño


What it does

The system presents either a visual or auditory stimulus to an athlete and measures how quickly and accurately they respond by striking the correct zone on a 3x3 impact matrix, which aims to mirror the Jodan / Chudan / Gedan strike zones used in Kumite (competitive Karate-Do).

The LabVIEW simulation covers the full training loop:

  1. Athlete enters their name.
  2. System randomly selects a target zone (1-9).
  3. Stimulus fires, either a sound clip or a LED indicator on the corresponding zone.
  4. Athlete strikes; the simulation registers which zone was hit and at what time.
  5. Hit/miss result and reaction time are logged to a per-athlete Excel file.

Two training modes are supported:

  • Simple reaction: single green LED or a single audio cue, no distractors.
  • Complex reaction: red LEDs mark false zones, only the green zone should be struck; or a target sound plays amid background competition noise.

Screenshots

LabVIEW Front Panel

The 3x3 matrix on the left simulates the physical strike pads (Jodan / Chudan / Gedan zones). The monitor panel on the right shows the session log with position, hit/miss result, and reaction time per iteration.

LabVIEW Front Panel

Block Diagram (main loop)

The core timing and hit-detection logic. The Elapsed Time node starts on stimulus; the Colchon boolean detects impact; the inline formula node compares struck zone vs. target and sets Acierto = 1 or 0.

Block Diagram

Physical Structure Design (Autodesk Inventor)

Proposed 650x650mm frame for the 3x3 strike pad matrix. The modular aluminum structure keeps the electronic zone physically separated from the impact zone.

Physical Structure

Strike Pad Detail

Exploded view of a single strike module: foam/canvas impact layer on top, FSR-402 sensor sandwiched between the pad and the base, LED routed through the center post.

Strike Pad


Repository contents

karate-do-reaction-system/
├── SimulacionKaratePunch.vi   # Main VI: front panel + block diagram
├── SoundGenerator.vi          # SubVI: reads and plays a .wav file, returns duration
├── Posiciones.vi              # SubVI: random integer generator (1-9) for zone selection
├── Colchon.ctl                # Custom control: simulated strike pad (boolean input)
├── Punch.wav                  # Audio stimulus: strike cue
├── Bar.wav                    # Audio stimulus: distractor / competition noise
├── Womp.wav                   # Audio stimulus: alternative cue
├── images/
│   ├── Simulacion_de_elementos_fisicos.png
│   ├── block_diagram.png
│   ├── Estructura_Fisica_Principal.png
│   └── Cojinete_con_implementacion_de_sensor.png
└── README.md

System architecture

The simulation was designed as a functional proof-of-concept for a physical prototype. The same logic would run on an Arduino MKR1010 reading 9x FSR-402 force sensors and controlling 18 LEDs (9 red + 9 green) in a common-cathode matrix.

Front Panel (LabVIEW GUI)
    │
    ├─ Stimulus selector (Auditory / Visual toggle)
    │       │
    │       ├─ Auditory path → Posiciones.vi → SoundGenerator.vi → plays .wav
    │       └─ Visual path  → Posiciones.vi → Case structure → LED boolean controls
    │
    ├─ Control por Posición (main loop)
    │       ├─ Elapsed Time timer starts on stimulus
    │       ├─ Colchon.ctl detects impact
    │       ├─ Compares struck zone vs. target zone → Acierto (hit/miss)
    │       └─ Logs: position, hit/miss, reaction time (ms)
    │
    └─ Data export
            ├─ Builds per-row matrix (position | acierto | velocidad de reacción)
            └─ Saves to athlete-named .xlsx

SubVIs

SoundGenerator.vi: Takes a numeric position input, loads the corresponding .wav file path, plays the waveform, and returns the audio duration. Duration feeds back into the main loop to time the response window correctly.

Posiciones.vi: Simple random integer generator bounded 1-9. Outputs the target zone number used by both the auditory and visual branches.

Colchon.ctl: A boolean custom control representing a single strike pad. Nine instances on the front panel simulate the 3x3 physical matrix.


How to run

Requirements: NI LabVIEW 2020 or later (earlier versions may work but were not tested).

  1. Clone or download the repository
  2. Open SimulacionKaratePunch.vi in LabVIEW
  3. Make sure SoundGenerator.vi, Posiciones.vi, and Colchon.ctl are in the same directory
  4. Place the .wav files in the path referenced inside SoundGenerator.vi (update the file path string if needed)
  5. Enter the athlete's name in the Name field on the front panel
  6. Select stimulus mode (Auditory / Visual)
  7. Press INICIAR to begin a session
  8. Click the strike pad (Colchon) corresponding to the stimulated zone
  9. Results are logged in the table and exported to Excel when the session ends

Note: The Excel export path is hardcoded inside the VI. Update the path string to match your machine before running.


Physical system design (proposed, not built)

The simulation was validated as a proof-of-concept. The proposed physical build:

Component Model Qty
Microcontroller Arduino MKR WiFi 1010 1
Force sensors FSR-402 (membrane type) 9
Audio module DFPlayer Mini MP3 2
LEDs green Diffuse, 2.0-2.2V 9
LEDs red Diffuse, 1.8-2.0V 9

The LED matrix uses common cathode per color. FSR sensors connect to analog inputs and are polled continuously, the the impact is detected when voltage crosses threshold. The electronic module is physically separated from the strike zone to protect it from direct impacts.

Schematic designed in Proteus Professional.
Budget estimate: $2,456 - $3,172 MXN for the full hardware build.


Team contributions

Member Role
Jorge Andrés Conde Jaimes LabVIEW software design and implementation (simulation, SubVIs, data export)
Jalil Yael Ali Ramos Garduño Mechanical design (Autodesk Inventor), concept development, project documentation and methodology
Luis Alberto Pérez Sánchez Electronic system design (schematic, component selection, Proteus)

Project context

Reaction time is a critical performance factor in Kumite, the combat discipline of Karate-Do, but no standardized training tool existed for quantifying it systematically. This project proposed and simulated a solution covering:

  • Stimulus generation (visual and auditory, simple and complex modes)
  • Impact detection and zone identification on a 3x3 Jodan/Chudan/Gedan matrix
  • Reaction time measurement from stimulus onset to impact
  • Per-athlete session history exported to Excel

The design process followed a full mechatronics methodology: client requirements, morphological analysis, weighted decision matrices, IDEF0 functional decomposition, schematic design in Proteus, and functional simulation validation in LabVIEW.


Notes

  • The .vi files require NI LabVIEW to open. Block diagram screenshots are included in src/ for reference.
  • The physical hardware was not built during the project timeline, only the simulation validated the core timing and stimulus logic.
  • .wav files included are the original audio stimuli used during simulation testing.

About

LabVIEW simulation of a reaction time training system for Karate-Do athletes with visual and auditory stimuli, 3x3 strike matrix, per-athlete Excel logging.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors