diff --git a/src/components/LabGuide.astro b/src/components/LabGuide.astro index 9089371..4c55dd0 100644 --- a/src/components/LabGuide.astro +++ b/src/components/LabGuide.astro @@ -4,7 +4,8 @@ // 動画は R2 の lab-setup-pi05-run-v2.mp4(2026-10-29 の横からの録画 IMG_4222.MOV の12〜140秒を、右寄りに4:3で切り出し6倍速。 // 元の録画は腕を立てた姿勢で上が画面の外に出るので、腕が下りてから箱に入れ終わるまでを使う) // 2 いま回している実験:お手本 → 学習 → 実機 → 人の直し → 直した成功を学習に足す、のループと各段の数字 -// 3 使っている技術:π0.5・追加学習(LoRA)・借りる GPU・推論サーバー・巻き戻しと人の直し +// 3 いま調べていること:爪のサーボの電流(2026-11-07 追加。並びは実験のあと・技術の前) +// 4 使っている技術:π0.5・追加学習(LoRA)・借りる GPU・推論サーバー・巻き戻しと人の直し // 絵は public/site/lab/(run-poster.webp は動画の最初のコマ、 // top-camera.webp は pi05_20261106_183926 の上のカメラの録画(KIOXIA runs/pi05_policy/…/recording/top.mp4、1920×1080)の125秒目。 // マットの左・右・下の縁から傾きを直して右寄りに4:3で切り出し、明るさを少し上げた。元は iCloud の @@ -78,6 +79,20 @@ const tech: { name: string; sub: string; p: string; fig?: boolean; links: Link[] p: '米国の MicroFactory の卓上ロボットを参考にしました。失敗しかけた区間をアームごと巻き戻し、人が関節を直してから AI に戻します。直す人の手はカメラに写らないので、直した動きをそのまま学習データにできます。', links: [{ log: 'LOG403', slug: 'rewind-and-correct-pi05', t: '直した動きだけを学習データにする' }] }, ]; + +// 4 いま調べていること:爪のサーボの電流の値(2026-11-07 の実機。0.5秒ごとの中央値。元は KIOXIA の diag/servo_current_20261107/180051_pad) +// 帯の時刻は値から読んだ(空で閉じた:51〜65秒、つかんだ:79〜109秒)。LOG を出したらリンクを足す +import grip from '../data/lab/gripper_current_20261107.json'; +const CW = 800, CH = 300, PL = 64, PR = 12, PT = 36, PB = 34, TMAX = 145, YMIN = -100, YMAX = 1050; +const cx = (t: number) => PL + (t / TMAX) * (CW - PL - PR); +const cy = (v: number) => PT + (1 - (v - YMIN) / (YMAX - YMIN)) * (CH - PT - PB); +const gripPath = (grip.points as [number, number][]).map(([t, v], i) => `${i ? 'L' : 'M'}${cx(t).toFixed(1)},${cy(v).toFixed(1)}`).join(''); +const bands = [ + { t0: 51, t1: 65, label: '空で閉じた' }, + { t0: 79, t1: 109, label: 'つかんだ' }, +]; +const yTicks = [0, 500, 1000]; +const xTicks = [0, 30, 60, 90, 120]; --- 研究室の構成 | Setup @@ -121,6 +136,34 @@ const tech: { name: string; sub: string; p: string; fig?: boolean; links: Link[] 数字は 2026年11月6日(LOG450)までの記録の値です。 + + いま調べていること | Now + お手本の記録に、爪のモーターの電流を足せるかを調べています。11月7日、実機で爪を空で閉じる・ブロックをつかむ・放すを行い、その間の値を1秒に約10回読みました。 + + + 空で閉じた16 + ブロックをつかんだ960 + 値はおよそ60倍違います。つかめたか空振りしたかが、カメラを見なくても分かります。 + + + + {bands.map((b) => ( + + + {b.label} + + ))} + {yTicks.map((v) => ({v}))} + + {xTicks.map((t) => ({t}))} + 秒 + + + 爪のサーボの電流の値(単位なしの読み値・0.5秒ごとの中央値)。つかんだあとは、30秒かけて960から800へゆっくり下がりました。つかんだブロックを引っ張ったときの変化は、この下がり方に埋もれて見えていません。 + + + + 使っている技術 | Technology @@ -184,6 +227,17 @@ const tech: { name: string; sub: string; p: string; fig?: boolean; links: Link[] .lg-return .ms { font-size: 22px; } .lg-note { margin: 16px 0 0; font: 400 13px/22px var(--sans); color: var(--ink-3); } + /* 4 いま調べていること */ + .lg-now { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 40px; align-items: start; } + .lg-now-nums { display: grid; gap: 20px; } + .lg-now-label { margin: 0 0 6px; font: 600 14px/20px var(--sans); color: var(--ink-2); } + .lg-now-nums .lg-num { margin: 0; } + .lg-chart { margin: 0; } + .lg-chart svg { display: block; width: 100%; height: auto; } + .lg-chart-tick { font: 400 12px var(--sans); fill: var(--ink-3); } + .lg-chart-band { font: 600 14px var(--sans); fill: var(--ink); } + .lg-chart figcaption { margin: 12px 0 0; max-width: 46em; font: 400 13px/22px var(--sans); color: var(--ink-3); } + /* 3 技術 */ .lg-tech { margin: 0; display: grid; } .lg-tech-row { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 32px; padding: 28px 0; border-top: 1px solid #e6e6e6; } @@ -214,6 +268,14 @@ const tech: { name: string; sub: string; p: string; fig?: boolean; links: Link[] .lg-setup { grid-template-columns: minmax(0, 1fr); gap: 28px; } .lg-loop { grid-template-columns: repeat(2, minmax(0, 1fr)); } .lg-tech-row { grid-template-columns: minmax(0, 1fr); gap: 8px; } + .lg-now { grid-template-columns: minmax(0, 1fr); gap: 24px; } + .lg-now-nums { grid-template-columns: 1fr 1fr; } + .lg-now-nums .lg-p { grid-column: 1 / -1; } + } + @media (max-width: 599px) { + /* 図は幅に合わせて縮むので、文字だけ大きくしておく */ + .lg-chart-tick { font-size: 24px; } + .lg-chart-band { font-size: 28px; } .lg-tech-body.has-fig { grid-template-columns: minmax(0, 1fr); gap: 20px; } .lg-fig { max-width: 480px; } } diff --git a/src/data/lab/gripper_current_20261107.json b/src/data/lab/gripper_current_20261107.json new file mode 100644 index 0000000..5847224 --- /dev/null +++ b/src/data/lab/gripper_current_20261107.json @@ -0,0 +1 @@ +{"source": "KIOXIA r2r2r-data/diag/servo_current_20261107/180051_pad/samples.csv(爪=サーボ7の番地69・70。70の最上位ビットを符号として読む)", "step_sec": 0.5, "stat": "0.5秒ごとの中央値", "points": [[0.0, -3], [0.5, -3], [1.0, -1], [1.5, 1], [2.0, 0], [2.5, -4], [3.0, -4], [3.5, -3], [4.0, 2], [4.5, 0], [5.0, 2], [5.5, 4], [6.0, -2], [6.5, 1], [7.0, 2], [7.5, -1], [8.0, 0], [8.5, 4], [9.0, 7], [9.5, 5], [10.0, -1], [10.5, 6], [11.0, 4], [11.5, 5], [12.0, 6], [12.5, 5], [13.0, 3], [13.5, 2], [14.0, 4], [14.5, 0], [15.0, -4], [15.5, 4], [16.0, 4], [16.5, 4], [17.0, 5], [17.5, 2], [18.0, -4], [18.5, 4], [19.0, -3], [19.5, -2], [20.0, 5], [20.5, 0], [21.0, 0], [21.5, -4], [22.0, -3], [22.5, 4], [23.0, 3], [23.5, 2], [24.0, 5], [24.5, 2], [25.0, 4], [25.5, -1], [26.0, 2], [26.5, 6], [27.0, -2], [27.5, 0], [28.0, 2], [28.5, 0], [29.0, -1], [29.5, 5], [30.0, 3], [30.5, 4], [31.0, 2], [31.5, -2], [32.0, -3], [32.5, -1], [33.0, 3], [33.5, -1], [34.0, 2], [34.5, 2], [35.0, 2], [35.5, 4], [36.0, 1], [36.5, 5], [37.0, 3], [37.5, 4], [38.0, 1], [38.5, 1], [39.0, -2], [39.5, 4], [40.0, 0], [40.5, 2], [41.0, 4], [41.5, 0], [42.0, 7], [42.5, 0], [43.0, 3], [43.5, 2], [44.0, 5], [44.5, 4], [45.0, 2], [45.5, -1], [46.0, 6], [46.5, -2], [47.0, 4], [47.5, 0], [48.0, 0], [48.5, 4], [49.0, -2], [49.5, 1], [50.0, 3], [50.5, 2], [51.0, 79], [51.5, 23], [52.0, 15], [52.5, 16], [53.0, 19], [53.5, 15], [54.0, 13], [54.5, 17], [55.0, 16], [55.5, 14], [56.0, 18], [56.5, 16], [57.0, 16], [57.5, 12], [58.0, 18], [58.5, 17], [59.0, 11], [59.5, 14], [60.0, 17], [60.5, 16], [61.0, 17], [61.5, 14], [62.0, 16], [62.5, 15], [63.0, 12], [63.5, 14], [64.0, 20], [64.5, 16], [65.0, 15], [67.0, -23], [67.5, -47], [68.0, -52], [68.5, -46], [69.0, -51], [69.5, -46], [70.0, -47], [70.5, -52], [71.0, -47], [71.5, -48], [72.0, -48], [72.5, -47], [73.0, -48], [73.5, -44], [74.0, -51], [74.5, -49], [75.0, -48], [75.5, -47], [76.0, -47], [76.5, -49], [77.0, -53], [77.5, -49], [78.0, -50], [78.5, -47], [79.0, 116], [79.5, 896], [80.0, 966], [80.5, 951], [81.0, 940], [81.5, 930], [82.0, 921], [82.5, 910], [83.0, 905], [83.5, 897], [84.0, 890], [84.5, 887], [85.0, 877], [85.5, 876], [86.0, 870], [86.5, 865], [87.0, 860], [87.5, 860], [88.0, 856], [88.5, 851], [89.0, 848], [89.5, 848], [90.0, 845], [90.5, 843], [91.0, 840], [91.5, 837], [92.0, 835], [92.5, 834], [93.0, 831], [93.5, 832], [94.0, 824], [94.5, 823], [95.0, 820], [95.5, 819], [96.0, 816], [96.5, 816], [97.0, 814], [97.5, 813], [98.0, 812], [98.5, 808], [99.0, 809], [99.5, 810], [100.0, 806], [100.5, 806], [101.0, 806], [101.5, 803], [102.0, 805], [102.5, 800], [103.0, 800], [103.5, 799], [104.0, 798], [104.5, 796], [105.0, 797], [105.5, 800], [106.0, 800], [106.5, 793], [107.0, 800], [109.0, 558], [109.5, -36], [110.0, -57], [110.5, -52], [111.0, -50], [111.5, -53], [112.0, -49], [112.5, -58], [113.0, -50], [113.5, -54], [114.0, -54], [114.5, -62], [115.0, -60], [115.5, -61], [116.0, -58], [116.5, -60], [117.0, -58], [117.5, -58], [118.0, -60], [118.5, -54], [119.0, -57], [119.5, -58], [120.0, -57], [120.5, -53], [121.0, -57], [121.5, -58], [122.0, -59], [122.5, -58], [123.0, -44], [123.5, -45], [124.0, -38], [124.5, -44], [125.0, -47], [125.5, -45], [126.0, -39], [126.5, -46], [127.0, -48], [127.5, -39], [128.0, -34], [128.5, -39], [129.0, -32], [129.5, -38], [130.0, -36], [130.5, -40], [131.0, -42], [131.5, -30], [132.0, -38], [132.5, -33], [133.0, -36], [133.5, -45], [134.0, -27], [134.5, -39], [135.0, -45], [135.5, -38], [136.0, -30], [136.5, -36], [137.0, -35], [137.5, -33], [138.0, -37], [138.5, -34], [139.0, -36], [139.5, -45], [140.0, -36], [140.5, -37], [141.0, -30], [141.5, -39], [142.0, -42], [142.5, -31], [143.0, -38], [143.5, -43], [144.0, -46]]}
数字は 2026年11月6日(LOG450)までの記録の値です。
お手本の記録に、爪のモーターの電流を足せるかを調べています。11月7日、実機で爪を空で閉じる・ブロックをつかむ・放すを行い、その間の値を1秒に約10回読みました。
空で閉じた
16
ブロックをつかんだ
960
値はおよそ60倍違います。つかめたか空振りしたかが、カメラを見なくても分かります。