TT Lab
ブログ

한국어 English 日本語 中文

はじめる
ブログ

ブログ

卓球ロボットが1つのボールを返すまで:ステップ別シミュレーション動画で見る計算

状態:ドラフト(2026-10-18)、実測。画面と文章の数字はすべてシミュレーター内の値であり、カメラの周期・遅延・ノイズは仮定値です。 録画とレンダリングは2026-10-18にホームラボのKubernetesのミニPCノード1台で一時的なポッドとして実行しました。ポッドの上限はCPU 6コア・メモリ3 GiBであり(最大使用量1.5 GiB)、GPUは使用していません。 環境はMuJoCo 3.16.0、Python 3.11、numpy 2.3.4、Mesa 23.2.1(llvmpipe、OSMesa)、ffmpeg 4.4.2(libx264)です。物理演算と制御は第7部と同じです(タイムステップ0.5 ms、制御1 kHz、学習済みハイブリッドポリシーシード0)。 評価用ボール番号201の1つを4つの方法で実行しました(学習済みハイブリッド遅延30 ms・100 ms、古典的基準線30 ms、学習なしの公称プランナー30 ms)。決定論的な実行であるためそれぞれ1回ずつ実行し、4つの結果すべてが第7部の評価ファイルの同じボール・同じ条件の結果(結果の種類と着地点)と一致しました。 元データ(録画 out/rec/ball201.json、文章の数字 out/facts.json、録画・レンダリング・図のスクリプト)は作業ディレクトリ measure/sim-tt-video/ にあります。

目次

1. 直感:1.3秒間に起きる7つの計算

第5部と第7部では500個のボールの成功率について語りました。数字は正確ですが、ロボットが1つのボールを受ける間に 何をいつ計算しているのかはよく見えません。今回は1つのボールを最初から最後まで追いかけ、毎瞬間ロボットの頭の中にある値を画面に描き出しました。

公開データの初期状態(相手側のエンドラインの上、こちらに向かって飛んでくるボール)から、うちのロボットを経由して相手コートに落ちるまで1.307 sです。その間に7つの段階があります。

  1. 観測。 カメラがボールの位置を撮影し、その点が遅れて届きます。
  2. 予測。 届いた点からボールの状態を合わせ込み、今後の経路をシミュレーションします。
  3. 打撃決定。 狙う着地点から逆算し、いつ、どこで、どのような面の向きで、どれほど強く打つかを決めます。
  4. 逆運動学。 そのラケットの姿勢を4つの関節の値に変換します。
  5. 軌道とスイング。 現在の姿勢からその姿勢まで関節ごとに5次多項式で結び、それに従います。
  6. 接触。 ボールがラケットに当たり、速度と回転が変化します。
  7. 着地。 ボールが相手コートに落ちます。

ロボットは第5部と同じ実寸大のガントリー2軸(x軸:横、z軸:縦)+手首2軸(yaw、pitch)であり、制御は第7部の学習済みハイブリッドです。ポリシーは打撃パラメータ6個のみを補正し、残りはすべて下記に述べる古典的な計算が処理します。

2. 動画と図の作成方法

2.1 全体の流れ

공 하나를 넘기기까지: 옆에서 본 전체 과정 평가 공 201번, 120 Hz·지연 30 ms(가정), 학습한 하이브리드. 녹화 궤적(1 ms)을 5배 느리게. 가로축은 탁자 길이 방향(오른쪽이 상대), 세로축은 높이. ▶ 누르면 재생 타격면 목표 0.75 m 1 관측 2–4 예측·결정·역기구학 5 스윙(1차 계획) 5 다시 계획 6 접촉 7 착지 0.200 s 첫 결정 · 0.497 s 다시 계획 · 0.543 s 접촉 · 1.307 s 착지(오차 3.7 cm) 하늘색 점 0.2 s 에 도착한 관측, 올리브 점선 1차 예측, 보라 원 칠 위치(1차·2차), 빨간 선분 라켓 면.
図:1つのボールを返すまでの側面から見た全体の流れ。クリックすると5倍速で再生
段階 シミュレーターの時間 映像に見えるもの 再生速度
1 観測 0–0.200 s 撮影された点(灰色)と届いた点(水色) 1/20
2 予測 0.200 sで停止 二次式のフィッティング、予測経路、推定回転 vs 真の回転 一時停止
3 打撃決定 0.200 sで停止 打撃位置、ラケット目標、面の法線、狙った経路と着地点 一時停止
4 逆運動学 0.200 sで停止 現在の姿勢と目標姿勢、関節の4つの値 停止
5 軌跡とスイング 0.200–0.539 s 計画されたラケットの経路対実測、関節基準対実測のグラフ、0.497 s での再計画 1/10
6 接触 0.513–0.583 s 入ってきた速度・出ていった速度の矢印、速さと回転 1/10
7 着地 0.543–1.307 s 実測の経路対計画された経路、着地誤差 1/4
比較 0–0.700 s 同じボールの基準線対ハイブリッド、遅延 30 ms 対 100 ms 1/4

動画は 1280×720、30 fps、65.6 s(1,967フレーム)、H.264 2.6 MB です。1つの記事に入れられる動画は 30 s までなので、各節に段階別のクリップ(4.7–8.1 s)を入れ、その下に同じ瞬間の静止画を配置しました。

2.2 録画:計算を変えずに取り出す

7編の録画軌跡(rec_*.json)には 5 ms 間隔のボールとラケットの位置しかありません。段階別の計算を表示するためには、観測点、フィッティングした二次式、予測経路、決定ごとの計画、関節基準値が必要になるため、同じ環境を同じシード(ボールごとに 777000 + ボール番号)で再実行しました。 環境コードは変更せず、サブクラスから読み取るだけにとどめました。1 ms の制御周期ごとに状態を転記し、決定ごとに推定値と計画を転記します。

class RecEnv(ttenv.TTEnv):
    def _tick(self, qr, vr, ar):
        done = super()._tick(qr, vr, ar)          # 물리·제어는 원래 코드 그대로
        d = self.d
        v, w = ball_world(self)                   # 세계 좌표 속도·각속도
        self.ticks.append([round(self.t, 6), *d.qpos[:11].tolist(), *d.qvel[6:10].tolist(),
                           *np.asarray(qr).tolist(), *v.tolist(), *w.tolist(), ...])
        return done

出典:TT Lab 実験コード sim-tt-video/src/vid_record.py(接触表示の列は省略)。

録画結果(結果の種類、着地位置)は、7編の評価ファイルの同じボール・同じ条件の値と照合し、4つのケースすべてで一致しました。同じ計算が再実行されたことの確認となります。

2.3 レンダリング:数値は録画から、見た目は表示専用モデルで

物理モデルのロボットにはラケット以外の形状がないため、そのまま描画するとラケットだけが空中に浮いてしまいます。そのため、関節の配置(qpos の順序、位置、軸、ラケットのサイズ)が同じ 表示専用モデルを別途作成してレール・キャリッジ・手首・持ち手を結合し、記録された qpos をそのまま入力して MuJoCo のオフスクリーンレンダラーで描画しました。このモデルは接触を計算しません。 観測点・予測経路・打点などの表示は MuJoCo のシーンに図形として追加し、字幕と数値は描画されたフレームの上に Nanum Gothic フォントで記述しました。画面上の数値はすべて録画ファイルから読み込み、速さ(ベクトルの大きさ)、角度、cm への換算などの単純な変換計算のみを行っています。 1 ms の記録間のフレーム(1/20 倍速では 1.67 ms 間隔)は、ボールと関節の位置を線形補間して描画しました。

3. ステージ 1:観測:捉えた点が遅れて到着する

動画:動画ステージ 1 観測(1/20 倍速)
1단계 관측: 찍은 점과 로봇에 도착한 점 0.2 s 까지 찍은 24개 중 지연 30 ms 를 지나 도착한 것은 21개. 높이를 5배 늘려 그림. t = 0 t = 0.2 s 0.00 s 0.05 s 0.10 s 0.15 s 0.20 s 지연 30 ms: 아직 도착 전 도착한 관측 찍었지만 도착 전 공의 실제 경로 찍는 간격은 약 8.3 ms(1 ms 제어 주기에 맞춰 찍음), 위치 잡음 σ 3 mm. 공의 처음 속력 7.78 m/s.
画像:ステージ 1 観測:0.2 s までに捉えた点と到着した点、遅延 30 ms

観測からボールの状態を推定する一般論(カルマンフィルターなど)は、『卓球ロボットアームの基礎』第 6 編のボールの飛行方程式に記載されています。

4. ステージ 2:予測:二次式のフィッティングと RK4・バウンドモデル

動画:動画ステージ 2 飛行予測
2단계 예측: 2차식 맞춤과 RK4·바운드 모델 0.2 s 의 예측(올리브 점선)과 실제 경로(주황). 0.497 s 에 바운드 뒤 관측으로 다시 맞춘다. 맞춘 2차식 1차 예측 2차 예측 실제 로봇의 추정참값(시뮬레이터) 0.2 s 속도 (m/s)(-1.23, -6.29, -0.39)(-1.14, -6.20, -0.74) 0.2 s 회전 ω (rad/s)(82, -16, 4)(55, 3, 15) 0.497 s 회전 ω (rad/s)(131, -25, 4)(98, -7, 15) 바운드 시각0.415 s0.429 s 바운드 (x, y) m(-0.47, -1.16)(-0.47, -1.26) 예측 바운드와 실제 바운드의 거리 10.3 cm. 회전은 가속도의 작은 차이로만 보여 크게 어긋난다.
画像:ステージ 2 予測:フィッティングした二次式、0.2 s と 0.497 s での予測、実測経路

計算。 到着した点(直近 36個まで)に対して時間に対する位置の二次式を最小二乗法でフィッティングし、最後の観測時刻における位置・速度・加速度を取得します。0.2 s でのフィッティングは観測 21個、加速度(1.56, 6.90, −13.49)m/s² でした。 加速度から重力と抗力を引いた残りの成分をマグナス力(k_M/m)ω×v と見なして ω を解きます。回転は加速度のわずかな差としてしか現れないため、0 の方向へ引き戻す事前項(標準偏差 300 rad/s)を設けています。 その状態でプランナーの物理演算(抗力係数 0.471、マグナス係数、卓上の反発 0.975・摩擦 0.10)を 4 ms 間隔の RK4 で実行し、卓上に接触した場合は力積モデルでバウンドさせます。

0.2 s での値 ロボットによる推定 真値(シミュレータ)
速度(m/s) (−1.23, −6.29, −0.39) (−1.14, −6.20, −0.74)
回転 ω(rad/s) (82, −16, 4) (55, 3, 15)
バウンド時刻 0.415 s 0.429 s
バウンド位置(x, y)m (−0.47, −1.16) (−0.47, −1.26)

予測されたバウンドは実際より 14 ms早く、10.3 cm 手前でした。回転の推定のずれが最も大きくなります(第 6 編で確認した通り、位置情報だけでは回転が弱くしか見えないためです)。

バウンド後の再フィッティング。 ロボットは到着した点の高さが最も低くなった後、1 cm を超えて再び上昇したときにバウンドとみなします。このボールは 0.425 s の時点をバウンドと判断し、その後観測 4個が到着した 0.497 s の時点で 2回目の決定を行いました。 観測が 6個未満の場合、加速度は重力のみとして直線のみでフィッティングを行い、回転は最初の推定値をバウンドモデルに通した値(131, −25, 4)rad/s をそのまま使用します(真値は(98, −7, 15))。この計算式は、『卓球ロボットアームの基礎』第 6 編の重力・抗力・マグナスとバウンドモデルの節にあります。

5. ステージ 3:打撃の決定:着地点からの逆算

動画:動画ステージ 3 打撃の決定
3단계 타격 결정: 위에서 본 칠 위치·면 방향·노린 경로 0.2 s 의 1차 결정. 착지점에서 거꾸로 나가는 속도를 풀고, 면 법선과 면 속도를 정한다. 갠트리 x ±0.9 m 노리는 착지점 (0, 0.75) 칠 위치 실제 공 예측 법선(정책 보정 후) 명목 법선 노린 경로 칠 시각0.556 s (결정에서 356 ms 뒤) 칠 위치 b (m)(-0.59, -1.75, 0.32) 면 yaw / pitch-7.7° / 0.4° (명목 -12.3° / 4.7°) 면 속도(법선 방향)1.10 m/s (명목 0.48 m/s) 원하는 나가는 속도(1.02, 4.38, 2.27) m/s, 5.04 m/s 정책 출력(보정)yaw +4.7°, pitch -4.0°, 면 속도 +0.63 m/s, 시각 +7.0 ms, 중심 x -0.6 cm, z -2.7 cm
画像:ステージ 3 打撃の決定:上から見た打撃位置、面の方向き、狙った経路

計算。 3つの要素を順番に解きます。

  1. 出射速度。 狙う着地点は相手コートの中央(0, 0.75)m です。水平方向の速さを 4.5 m/s とし、飛行時間 T = 距離 / 4.5 を定めた後、重力のみを受ける放物線が卓の高さに到達するように v_z を決定します。
  2. 面の法線と面の速度。 出ていく速度と入ってくる速度の差の方向を法線 n とし、反発係数 e を用いて法線方向の面の速度 v_pn = v_in·n + (Δv·n) / (1+e) を定めます。摩擦を考慮した力積モデルで予測結果を再計算し、3回修正します。
  3. 打撃時刻。 ガントリーには奥行き(y)軸がないため、ラケットが到達できる y は手首の角度のみによって決まります。予測経路がその y を通過する時刻が打撃時刻となります。
def _v_des(self, b):
    dx, dy = TARGET[0] - b[0], TARGET[1] - b[1]
    dist = math.hypot(dx, dy)
    vh = 4.5
    Tf = dist / vh
    vz = (T.BALL_R - b[2] + 0.5 * G * Tf * Tf) / Tf
    return np.array([dx / dist * vh, dy / dist * vh, vz])

出典:TT Lab 実験コード rl/src/ttenv.py(第 7 編と同じファイル)。

学習したポリシーはこの公称値に6つの補正を加えます(面yaw・pitch各±20°、面速度±1.5 m/s、打球時刻±20 ms、ラケット中心x・z各±6 cmの範囲)。

0.2 s の1次決定 公称(学習なし) ポリシー補正後
打球時刻 0.552 s 0.556 s(決定から356 ms後)
打球位置 b (m) (−0.58, −1.74, 0.32) (−0.59, −1.75, 0.32)
面 yaw / pitch −12.3° / 4.7° −7.7° / 0.4°
面速度(法線方向) 0.48 m/s 1.10 m/s
所望の出射速度 (1.03, 4.38, 2.26) m/s (1.02, 4.38, 2.27) m/s, 5.04 m/s

ポリシーの出力を単位に換算すると、yaw +4.7°、pitch −4.0°、面速度 +0.63 m/s、打球時刻 +7.0 ms、中心 x −0.6 cm、z −2.7 cm です。所望の着地地点からラケットの速度と法線を逆算する方程式は、「卓球ロボットアームの基礎」第7話の打球方程式にあります。

6. 4段階逆運動学:閉形式の4行

映像:映像 4段階逆運動学
4단계 역기구학: 상대 쪽에서 본 갠트리와 손목 닫힌 해: 손목 두 각은 법선에서, 갠트리 두 축은 라켓 중심에서 손목 오프셋을 빼서. x 레일(±0.9 m, 오른쪽이 -x) 탁자 윗면 높이 지금(0.2 s) 목표 공(칠 위치) 관절값식 (L = 0.15 m) 갠트리 x-0.595 mc_x − L·sin(pitch)·sin(yaw) 갠트리 z+0.144 mc_z − L·cos(pitch) 손목 yaw-7.7°atan2(−n_x, n_y) 손목 pitch+0.4°asin(n_z) c = b − n·(공 반지름 + 라켓 두께/2) + 정책의 중심 보정. 네 값 모두 한계 안(잘라 낸 값 없음).
図:4段階逆運動学:反対側から見たガントリーの現在姿勢と目標姿勢

ガントリーは直交座標系であるため、逆運動学は反復計算なしで完了します。手首の2つの角度は所望の法線から直接求まり、ガントリーの2つの軸はラケットの中心から手首のオフセットを引くだけです。

def ik(c, n, rb: Robot):
    n = np.asarray(n, float) / np.linalg.norm(n)
    th = math.asin(max(-1.0, min(1.0, n[2])))
    psi = math.atan2(-n[0], n[1])
    x = c[0] - rb.L * math.sin(th) * math.sin(psi)
    z = c[2] - rb.L * math.cos(th)
    y_res = c[1] - (rb.y_g - rb.L * math.sin(th) * math.cos(psi))
    q = np.array([x, z, psi, th])
    ok = bool(np.all(q >= np.array(rb.lo)) and np.all(q <= np.array(rb.hi)))
    return q, y_res, ok

出典:TT Lab 実験コード sim/ttsim.py(説明コメントは省略)。

関節 現在(0.2 s) 1次目標 制限
ガントリー x 0.000 m −0.595 m ±0.9 m
ガントリー z 0.150 m 0.144 m −0.15–0.7 m
手首 yaw 0.0° −7.7° ±80°
手首 pitch 0.0° 0.4° ±80°

ラケットの中心は c = b − n·(ボール半径 + ラケット厚さ/2) にポリシーの中心補正を加えた値です。4つの値すべてが制限内であったため、クリッピングされた値はありませんでした。 y_res はガントリーが合わせられない奥行き方向の差分であり、公称計画では 0 であり、ポリシー補正が入った1次目標では −2.9 cm でした。2つの解、特異点、解がない場合などの一般的なアームの話は、「卓球ロボットアームの基礎」第4話の逆運動学にあります。

7. 5段階軌道とスイング:39 msで引き直した経路

映像:映像 5段階軌道生成とスイング(1/10倍速)
5단계 궤적과 추종: 5차 다항식 기준과 실제 관절 점선은 제어기가 받은 기준(1차 계획, 0.497 s 부터 2차 계획), 실선은 실제 관절. 갠트리 x (m) -0.58 0.00 다시 계획 손목 pitch (°) 0 30 접촉 0.2 s 0.3 s 0.4 s 0.5 s 2차 계획은 접촉까지 39 ms: x 가속도 323 m/s², z 98 m/s² 를 요구(한계 40·30). 한계에서 잘려 접촉 순간 x 가 기준과 6.6 cm 어긋났다(1차 계획 동안 x 오차 최대 0.3 cm).
図:5段階軌道と追従:ガントリー x と手首 pitch の5次多項式基準と実際

計算。 決定するたびに、現在の関節の位置・速度・加速度から打撃瞬間の目標(位置 q、速度 (0, 0, 0, −v_pn/L)、加速度 0)まで、関節ごとに5次多項式で接続します。スイング後、pitch は 0.12 s かけて停止します。1 kHz の計算トルク制御(PD + フィードフォワード、固有振動 50 rad/s)がこの基準に追従し、加速度と速度は軸の制限でクリッピングされます。

5次多項式が両端の位置・速度・加速度を満たす原理と、制限内の最小時間軌道は「卓球ロボットアームの基礎」第8話の軌道生成、計算トルク制御は第9話の制御にあります。

8. 6段階接触:1 ms以内の出来事

映像:映像 6段階接触(1/10倍速)
6단계 접촉: 옆에서 본 라켓 면과 공 점은 공(4 ms 간격), 화살표는 속도(1 m/s 당 3 cm, 겹치지 않게 위아래로 비켜 그림). 라켓 면 상대 쪽 → 속력 회전 진행 방향 기준 들어온 공 4.51 m/s 98.9 rad/s 탑스핀 97.6 rad/s 나간 공 4.89 m/s 98.7 rad/s 백스핀 95.8 rad/s 회전 벡터는 거의 그대로(1.5 rad/s 변화)인데 공의 방향이 뒤집혀 탑스핀이 백스핀이 된다. 계획이 원한 나가는 속력 5.06 m/s, 접촉 0.543 s(계획 0.536 s), 라켓 면 중심 0.69 m/s.
図:6段階接触:横から見たラケット面とボール、入射速度と出射速度

映像はこのシーンを 1/10 倍速で示しています。ボールがラケットに接触したと記録されたのは 1 ms の記録1コマ分(物理ステップ2回)です。

速さ 回転の大きさ 進行方向基準
飛来したボール(0.542 s) 4.51 m/s 98.9 rad/s トップスピン 97.6 rad/s
出ていくボール (0.544 s) 4.89 m/s 98.7 rad/s バックスピン 95.8 rad/s

9. 第7段階の着地: 目標から 3.7 cm

動画: 動画 第7段階の着地 (1/4倍速)
7단계 착지: 계획한 경로와 실제 경로, 착지 오차 위: 옆에서 본 나가는 공. 아래: 위에서 본 상대 코트(목표 주변 확대). 꼭대기 0.68 m 실제(학습한 정책) 계획이 노린 경로(중력만) 명목(학습 없음) 목표 학습한 정책 3.7 cm 명목 22.1 cm y 0.35 m1.05 m 착지점 (-0.004, 0.713) m, 네트 위 여유 36.7 cm, 타격에서 착지까지 0.764 s. 실제 경로는 백스핀의 마그누스 힘과 항력 때문에 중력만 둔 계획보다 높이 떴다.
図: 第7段階の着地: 計画された軌道と実際の軌道、着地誤差
値 学習済みハイブリッド ノミナル (学習なし)
着地点 (x, y) m (−0.004, 0.713) (−0.007, 0.529)
目標 (0, 0.75) から 3.7 cm 22.1 cm
最高点の高さ 0.68 m 0.47 m
結果 返球成功 返球成功

10. 比較: 同じボール、異なる手法と異なる遅延

動画: 動画比較 1: 同じボールを古典的ベースラインと学習済みハイブリッドで処理 (1/4倍速)
動画: 動画比較 2: 同じポリシー、カメラ遅延 30 ms と 100 ms (1/4倍速)
같은 공, 세 조건: 위에서 본 로봇 쪽 평가 공 201번. 가로는 탁자 길이(오른쪽이 네트), 세로는 옆(x). 0.7 s 까지 6배 느리게. ▶ 누르면 재생 고전 기준선, 지연 30 ms 못 맞힘(가장 가까울 때 28.2 cm) 학습한 하이브리드, 지연 30 ms 반환 성공(착지 오차 3.7 cm) 학습한 하이브리드, 지연 100 ms 못 맞힘(가장 가까울 때 32.4 cm) 공 쓰인 계획의 예측 쓰인 계획의 칠 위치 라켓 면
図: 同じボール、3つの条件の上面図。クリックすると6倍速で再生

古典的ベースライン(遅延 30 ms):ヒットできず、最も近接した時で 28.2 cm。 ベースラインは 0.2 s の時点で 21個の観測により位置・速度・回転をまとめて最小二乗法でフィッティングしましたが、回転を (111, 279, −27) rad/s と読み取りました(真値は (55, 3, 15))。その予測に基づき打撃位置を x −0.83 m と設定しましたが、その時刻の実際のボールは x −0.54 m にありました。 ベースラインは予測バウンドの 80 ms 後から打撃時刻の 80 ms 前までのみ再計画を行います。予測バウンドが 0.440 s、打撃時刻が 0.545 s であったためそのウィンドウが空き、計画は 0.2 s のもの単体のみとなりました。ハイブリッドはバウンドを観測から見つけ、観測が 4個揃うとすぐに再計画して修正しました。

学習済みハイブリッド(遅延 100 ms):ヒットできず、最も近接した時で 32.4 cm。 同じ方針、同じボールです。0.2 s の時点に到着した観測が 13個しかなかったため(30 ms の場合は 21個)、回転を (67, −5, 87) rad/s と読み取り、垂直軸(z)まわりの横回転成分が大きかったため打撃位置を x −0.19 m と設定しました(その時刻の実際のボールは x −0.55 m)。 バウンド後の観測 4個は 0.567 s になってようやく到着し、その時に生成された計画の打撃時刻 0.545 s はすでに過ぎていたため使用できませんでした。遅延 100 ms におけるこの方針の返球成功率は 500個を基準として 58.2%、ベースラインは 26.6% です(第7部)。

11. 開発時の苦労話

12. 限界と未計測

13. 次回予告

次回のテーマは、低いボールに対応し作業空間を広げる奥行き軸をロボットモデルに追加し、同じ評価を再度実行することです(第7部で予告)。今回の録画・レンダリングツールをそのまま使用し、奥行き軸が追加されることで「打つタイミング」の定義がどのように変わるのかも、同じ7つのステップで紹介する予定です。

ティティの一言。 成功率の表でしか見ていなかったロボットをボール一つで追いかけてみると、最後の39 msで計画を再立案し、限界の8倍の負荷を要求されながらもラケットにボールを当てるシーンがありました。数字一つの裏に、こんなにもギリギリの瞬間が隠されていたんですね!

参考

外部リンクは第7部と同じアドレスです(第7部で2026-10-18に公開されることを確認しました)。

ログインするといいねできます

コメント

まだコメントはありません。

ログインするとコメントできます