TT Lab
Blog

한국어 English 日本語 中文

Get started
Blog

Blog

Classical Methods and Reinforcement Learning: What to Solve with Equations and What to Leave to Learning

Status: Draft (2026-10-18), empirically measured. Numbers are simulation values calculated using Python 3.9.6 and numpy 2.0.2 on a laptop (Apple M1 Max, macOS 26.5). Raw data and code: Working directory measure/robot-arm-basics/'s m10_learn.py, out/m10_learn.json. The "real world" is also a simulation, and there are no actual robot experiments (hardware not empirically measured). Paper numbers were verified from each original text (arXiv versions indicate the version number). Reference materials were accessed on 2026-10-18. Writing rules: Empirically measured data is the default; unmeasured items are marked as "unmeasured", and unverified items are marked as "unverified".

Table of Contents

1. Intuition: Calculate What You Know, Learn What You Don't Know

Parts 1 through 9 were all about equations. Ball flight was Newton's laws, racket posture was geometry, trajectories were polynomials, and control was inverse dynamics. Equations work from the very first ball without data, and can explain why they failed. Instead, they fail precisely as much as the model is wrong. In Part 7, a 0.05 error in the racket restitution coefficient caused the landing point to miss by 13 cm.

Reinforcement learning (RL) is the opposite. Since it learns through trial and error without a model, it is not bound by model errors, but it requires many hits and it is difficult to inspect what was learned.

All studies building table tennis robots mix the two. The question is not "whether to mix or not" but **"where to draw the boundary."**

2. Figure: Boundaries of Four Systems

네 시스템이 무엇을 학습에 맡겼나 공 예측 타격 결정 동작·궤적 관절 제어 Mülling 2013 EKF 물리 학습(선택) 시연+DMP 고전 Koç 2018 EKF 물리 최적화 최적 3차식 고전 Büchler 2022 모델(HYSR) RL RL RL(근육압) D'Ambrosio 2024 필터만 학습+규칙 선택 ES(관절속도) 로봇 제어기 학습이 맡음(실선) 방정식·고전 방법(점선) 각 논문 원문으로 확인한 구성을 단순화했다. 세부는 본문 표.
Figure: Comparison of what ball prediction, hit decision, motion, and joint control four table tennis robot systems leave to learning

3. Comparison of Papers

This is the configuration verified by opening each original text. Direct comparison is not possible because the conditions next to the numbers differ.

Mülling et al. 2013 Koç et al. 2018 Büchler et al. 2022 D'Ambrosio et al. 2024
Robot Barrett WAM 7-DOF Barrett WAM 7-DOF 4-DOF arm driven by 8 pneumatic artificial muscles ABB IRB 1100 6-DOF + 2-axis linear gantry
Perception 4 cameras 60 Hz 4 cameras 60 Hz Ball position 180 Hz 2 cameras 125 Hz
Ball Prediction EKF (gravity and drag, ignoring spin) EKF + flight model Model (ball is simulated during learning) Filter (no real-time flight prediction)
Hit Decision Mixture of Motor Primitives (MoMP) selects and mixes appropriate primitives for the situation Optimizes hit time and position together PPO policy is everything High-level controller selects one skill per shot
Motion 25 motions taught by a human guiding the arm (DMP) Optimal 3rd-order polynomial trajectory for each joint PPO adjusts muscle pressure changes at 100 Hz 17 skills, each with an approx. 10k-parameter CNN controlling joint velocities at 50 Hz
Left to Learning Primitive selection weights (RL), motion shapes (demonstration) Ball model constant estimation (demonstration data) Entire arm control Skills (learned in simulation using BGS, an evolution strategies variant) + skill selection
Reported Results Real hardware return rate 69% → 97% (after 150 learning iterations), human opponent 74.4% → 88% Real hardware return: approx. 10-40% for fixed hitting plane, approx. 40-60% for proposed method (80-90% depending on settings) Return 75% (107 trials), smash 29% (128 trials, average approx. 12 m/s) 29 matches with 29 humans, 13 wins (45%): beginners 7/7, intermediates 6/11, advanced or higher 0/11

In summary, as the boundary moves to the right, the share of learning increases.

There is also a workflow of correcting models through learning. Sony AI 2026 re-fitted the ball's drag, Magnus, and bounce models using approximately 58,000 trajectories gathered by 9 cameras, and added neural network residuals on top of the physical formulas for the racket model. They report that the landing point center error decreased from 0.37 m of the baseline model to 0.15 m.

4. Empirical Measurement: The Same Question as a Smaller Problem

Because the papers differ in robots, balls, and evaluations, it is impossible to directly compare "how many hits are needed if the boundary is drawn at a certain place." Therefore, we took the hitting problem from Part 7 and conducted a small experiment.

Setup. The racket in the "real world" differs from the model. Restitution coefficient e = 0.72 (model 0.8), tangential velocity preservation rate k = 0.88 (model 1.0, tangential velocity reduced by 12% due to rubber friction). The balls are 300 actual shots chosen from the dataset in Part 1 (200 for training, 100 for testing), and the goal is to land the ball on the opponent's side at (0.3, 0.9) m in 0.6 seconds.

Three Methods.

# (b) 한 번 칠 때마다 e, k 를 최소제곱으로 다시 맞춘다
n, vrn = racket_general(V, v_out_wanted, e, k)        # 지금 추정값으로 닫힌 해
vout = true_racket(V, n, vrn)                          # 실제 세계(모델과 다름)
Vm, Om = V + noise(), vout + noise()                   # 관측
A_e.append(vrn - Vm @ n);  b_e.append(Om @ n - vrn)    # e 에 대해 선형인 식
e = dot(A_e, b_e) / dot(A_e, A_e)
모델이 틀린 라켓: 몇 번 쳐 봐야 맞추나 1 10 100 1,000 10,000 0.1 1 10 100 쳐 본 공의 수(로그) 착지 오차 중앙값(cm, 로그) 방정식만(명목 모델) 24.5 cm 물리 상수만 학습 0.33 cm 모델 없이 정책 탐색(CEM) 실제 라켓 e=0.72, 접선 보존 0.88 / 모델 e=0.8, 1.0. 시험 공 100개. 물리 상수 학습은 10번 시드의 중앙값, CEM 은 선형 정책 18개 파라미터.
Figure: Landing error according to the number of balls hit with an incorrect racket model
Method Balls Hit Median Test Landing Error
(a) Equations only (nominal model) 0 24.5 cm (90% 29.3)
(a') Equations + exact constants (reference) 0 0.0007 cm
(b) Learning physical constants only 1 2.1 cm
3 1.8 cm
10 1.3 cm
30 0.77 cm
100 0.33 cm
(c) Linear policy CEM 2,000 129 cm
8,000 25.0 cm
16,000 30.6 cm
24,000 25.4 cm

(b) is the median of 10 seeds, and the e and k estimated after 100 hits were 0.720 and 0.876 (true values 0.72, 0.88).

This experiment is intentionally simple. The real world is also a simulation, and the discrepancy from the model is merely "constants within the model," which favors (b). In cases where the form of the model itself is wrong (e.g., the model completely lacks the effect of rubber imparting spin), residual errors remain no matter how much constants are adjusted, and learning those residuals is what Sony AI 2026's neural network residuals do.

5. Where to Draw the Boundary: Proposals of This Series

As a starting point for the first open-source hardware robot, we propose the following. This may change through experiments.

Stage Initially Where to Add Learning
Ball Prediction (Part 6) EKF + Physical Model Re-fitting drag, Magnus, and bounce constants with our ball and table data. Spin estimation
Hit Decision (Part 7) Closed-form solution of shooting method + restitution model Fitting racket restitution constants (b in this article), then model residuals
Inverse Kinematics & Trajectory (Parts 4 & 8) Analytical solution + 5th-order polynomial/time-optimal Hardly necessary
Control (Part 9) PD + inverse dynamics feedforward Inertia and friction constant identification, iterative learning control (fixing feedforward by repeating the same motion)
Strategy (Where to Hit) Fixed target point Reinforcement learning. Since this part varies depending on the opponent, it is difficult to write as equations

There is only one principle: If equations can narrow down "what is unknown," learn only that narrowed-down part. Actuators whose models are difficult to build (pneumatic muscles) or decisions without ground truth (strategy) are better left to learning from the start.

6. Limitations

7. Conclusion of Part 1

Over ten articles, we have calculated through the seven steps required to hit a single table tennis ball. Here is a collection of key numbers to remember when transitioning to open hardware.

Number Value Part
Time until the ball reaches the end line 0.65 s at dataset center, 0.32 s for a 12 m/s ball 1
Main source of prediction error 5 cm without spin, 0.5 cm with spin 6
Racket angle 1° / velocity 0.1 m/s / restitution 0.05 Landing point 6 / 10 / 13 cm 7
Joint speed required for return About 10 rad/s (about 25 to hit like a human) 5
Swing time 0.05–0.1 s (acceleration limit 300–600 rad/s²) 8
Control 1 kHz + feedforward, current loop 1–2 kHz bandwidth 9
Joint zero position 0.1° results in 0.1–0.2° racket direction error 3

The next step is to remeasure these numbers with actual hardware and in the simulator. Before that, articles 11 to 15 will continue by implementing the principles of reinforcement learning (MDP, PPO, reward design and action space, sim-to-real transfer, evaluation) through toy problems.

Titi's Word. If you try to learn everything, hitting a ball 20,000 times won't be enough. Leave what you know to the equations and only learn the two unknown numbers, so ten times is plenty!

References

All materials were accessed on 2026-10-18.

Sign in to like

Comments

No comments yet.

Sign in to leave a comment