"매 perception and action are one closed loop, not two systems.". 매 Fitts, Schmidt 의 motor-learning 연구에서 출발한 매 perceptual-motor skills = 매 sensory input → motor output 의 매 coupled performance. 매 2026 VR (Beat Saber, MR), surgical robots, autonomous driving, human-AI tele-operation 에 직접 응용.
매 핵심
매 components
Perception: 매 visual, vestibular, proprioceptive, tactile input integration.
Decision: 매 motor program selection (Schmidt's schema theory).
Execution: 매 muscle coordination + online correction.
Feedback: 매 KR (Knowledge of Results), KP (Knowledge of Performance).
매 laws
Fitts' Law: 매 MT = a + b·log₂(2D/W) — 매 difficulty ∝ distance/target-size.
Hick's Law: 매 RT = a + b·log₂(N) — 매 choice reaction time vs alternatives.
Power Law of Practice: 매 T(n) = T₁ · n^(-α) — 매 skill acquisition curve.
매 stages (Fitts & Posner)
Cognitive: 매 verbal rehearsal, slow, error-prone.
Associative: 매 refining; reduced explicit thought.
Autonomous: 매 fast, low-attention-cost, automatic.
매 응용
VR exergaming: 매 Beat Saber score = 매 PM skill metric.
Surgical training: 매 da Vinci 의 PM skill calibration.
Robotic teleoperation: 매 latency 가 PM loop 깨면 매 performance 폭락.
UI design: 매 Fitts' Law → 매 button size & placement.
💻 패턴
Pattern 1: Fitts' Law calculator (UI design)
importmathdeffitts_mt(distance_px,width_px,a=0.05,b=0.1):"""매 movement time in seconds. a, b empirically calibrated."""returna+b*math.log2(2*distance_px/width_px)# 매 example: button 40px wide at 300px awayprint(fitts_mt(300,40))# ~0.36s
Pattern 2: Power-law learning curve fit
importnumpyasnpfromscipy.optimizeimportcurve_fitdefpower_law(n,T1,alpha):returnT1*n**(-alpha)trials=np.arange(1,100)times=...# 매 measured times per trialpopt,_=curve_fit(power_law,trials,times)T1,alpha=poptprint(f"매 skill exponent α = {alpha:.3f}")
Pattern 3: Online correction in robot teleop
# 매 closed-loop with 100Hz feedbackimporttimedefteleop_loop(robot,target):whilenotat_target(robot.pose,target,tol=0.005):err=target-robot.poserobot.send_velocity(0.5*err)# 매 P-controllertime.sleep(0.01)
Pattern 4: KR vs KP feedback in training app
deffeedback(trial_result):return{"KR":f"매 hit/miss: {trial_result.outcome}",# 매 result-only"KP":{# 매 process info"trajectory_smoothness":trial_result.jerk,"reaction_time":trial_result.rt_ms,"approach_angle":trial_result.angle,},}
# 매 motion-to-photon < 20ms or 매 PM loop breaks (sim-sickness)deflatency_audit(pipeline):budget_ms=20used=sum(pipeline.stage_latencies.values())assertused<budget_ms,f"매 over budget: {used}ms"
Pattern 7: Hick's Law menu design
importmathdefmenu_rt(n_options,a=0.2,b=0.15):returna+b*math.log2(n_options+1)# 매 8 options ≈ 0.67s, 16 options ≈ 0.81s — 매 sublinear
매 결정 기준
상황
Approach
매 button placement
Fitts' Law optimization
매 menu structure
Hick's Law (depth vs breadth)
매 training app
KR for novice, KP for advanced
매 VR app
Latency budget < 20ms motion-to-photon
매 teleoperation
Closed-loop with predictive control
매 skill assessment
Power-law exponent α + asymptote
기본값: 매 close the perception-action loop with < 100ms latency.
언제: 매 designing UI/VR/robotics interfaces, 매 modeling skill acquisition, 매 latency budgeting.
언제 X: 매 pure cognitive tasks (no motor component) — 매 different framework.
❌ 안티패턴
Ignoring Fitts: 매 tiny buttons far away — 매 high MT, errors.
Open-loop teleop: 매 no feedback → 매 oscillation, drift.
KR for experts: 매 expert needs KP detail, not just hit/miss.
Latency creep: 매 every render-pipeline change without latency budget audit.
🧪 검증 / 중복
Verified (Fitts 1954, Schmidt 1975, Magill Motor Learning).
신뢰도 A.
🕓 Changelog
날짜
변경
2026-05-08
Phase 1
2026-05-10
Manual cleanup — Fitts/Hicks/Schmidt + VR/teleop 응용