{
 "log": "LOG446",
 "article_full": "/files/LOG446/LOG446_full.md",
 "article_full_type": "text/markdown",
 "zip": "/files/LOG446/LOG446_files.zip",
 "files": [
  {
   "file": "01_diag_jog_probe_20261105_153401_result.json",
   "url": "/files/LOG446/01_diag_jog_probe_20261105_153401_result.json",
   "chars": 7014,
   "lines": 1,
   "lang": "json",
   "section": "15:34 送り方を4通り変えて根元 j0 を動かした（jog_probe 1回目）",
   "heading": "",
   "subheading": "diag/jog_probe_20261105_153401/result.json"
  },
  {
   "file": "02_sec03.txt",
   "url": "/files/LOG446/02_sec03.txt",
   "chars": 3818,
   "lines": 88,
   "lang": "text",
   "section": "15:39 jog と1回送る形の止め方を比べた（jog_probe 2回目）",
   "heading": "",
   "subheading": "jog_probe 2回目の端末の出力（15:39）"
  },
  {
   "file": "03_diag_jog_probe_20261105_153952_stop_result.json",
   "url": "/files/LOG446/03_diag_jog_probe_20261105_153952_stop_result.json",
   "chars": 13725,
   "lines": 1,
   "lang": "json",
   "section": "15:39 jog と1回送る形の止め方を比べた（jog_probe 2回目）",
   "heading": "",
   "subheading": "diag/jog_probe_20261105_153952_stop/result.json"
  },
  {
   "file": "04_sec04.txt",
   "url": "/files/LOG446/04_sec04.txt",
   "chars": 3286,
   "lines": 79,
   "lang": "text",
   "section": "15:43 遠い目標へ1回送る動きを、途中で止めた（jog_probe 3回目）",
   "heading": "",
   "subheading": "jog_probe 3回目の端末の出力（15:43）"
  },
  {
   "file": "05_diag_jog_probe_20261105_154332_hold_result.json",
   "url": "/files/LOG446/05_diag_jog_probe_20261105_154332_hold_result.json",
   "chars": 13923,
   "lines": 1,
   "lang": "json",
   "section": "15:43 遠い目標へ1回送る動きを、途中で止めた（jog_probe 3回目）",
   "heading": "",
   "subheading": "diag/jog_probe_20261105_154332_hold/result.json"
  },
  {
   "file": "06_sec05.md",
   "url": "/files/LOG446/06_sec05.md",
   "chars": 3618,
   "lines": 60,
   "lang": "markdown",
   "section": "15:50 長押しを15°先へ1回送る形にし、daemon に stop を足した",
   "heading": "",
   "subheading": "別の Claude のレビュー（長押しの作り直しと daemon に stop を足すスクリプト）"
  },
  {
   "file": "07_sec06.txt",
   "url": "/files/LOG446/07_sec06.txt",
   "chars": 4200,
   "lines": 63,
   "lang": "text",
   "section": "16:00 ゲームパッドで使うと、止めるたびにほかの関節が1〜1.5°ずつずれて積み上がった",
   "heading": "",
   "subheading": "teleop_20261105_160038 を1回押しと止める処理ごとに並べた出力"
  },
  {
   "file": "08_sec06.txt",
   "url": "/files/LOG446/08_sec06.txt",
   "chars": 6617,
   "lines": 94,
   "lang": "text",
   "section": "16:00 ゲームパッドで使うと、止めるたびにほかの関節が1〜1.5°ずつずれて積み上がった",
   "heading": "",
   "subheading": "ゲームパッドの端末の出力（16:00 teleop_20261105_160038）"
  },
  {
   "file": "09_sec07.txt",
   "url": "/files/LOG446/09_sec07.txt",
   "chars": 3357,
   "lines": 47,
   "lang": "text",
   "section": "16:08 止めたあとにほかの関節を指令へ戻す形にしたら、もっと動かなくなった",
   "heading": "",
   "subheading": "ゲームパッドの端末の出力（16:13 teleop_20261105_161347）"
  },
  {
   "file": "10_sec07.txt",
   "url": "/files/LOG446/10_sec07.txt",
   "chars": 3075,
   "lines": 51,
   "lang": "text",
   "section": "16:08 止めたあとにほかの関節を指令へ戻す形にしたら、もっと動かなくなった",
   "heading": "",
   "subheading": "ゲームパッドの端末の出力（16:22 teleop_20261105_162224）"
  },
  {
   "file": "11_diag_jog_probe_20261105_162617_small_result.json",
   "url": "/files/LOG446/11_diag_jog_probe_20261105_162617_small_result.json",
   "chars": 5468,
   "lines": 1,
   "lang": "json",
   "section": "16:26 1°・2°の小さな動きは、動かす関節だけを送ると12回中12回動いた（jog_probe small）",
   "heading": "",
   "subheading": "diag/jog_probe_20261105_162617_small/result.json"
  },
  {
   "file": "12_sec09.txt",
   "url": "/files/LOG446/12_sec09.txt",
   "chars": 7042,
   "lines": 111,
   "lang": "text",
   "section": "16:28 十字キーは、動かす関節だけを send_angle で送る形にした",
   "heading": "",
   "subheading": "ゲームパッドの端末の出力（16:31 teleop_20261105_163144）"
  },
  {
   "file": "13_sec10.txt",
   "url": "/files/LOG446/13_sec10.txt",
   "chars": 4926,
   "lines": 74,
   "lang": "text",
   "section": "16:35 1回押しの待ちを短くした（受付なし 40回→28回）",
   "heading": "",
   "subheading": "teleop_20261105_163620 を1回押しと止める処理ごとに並べた出力"
  },
  {
   "file": "14_sec10.txt",
   "url": "/files/LOG446/14_sec10.txt",
   "chars": 9816,
   "lines": 136,
   "lang": "text",
   "section": "16:35 1回押しの待ちを短くした（受付なし 40回→28回）",
   "heading": "",
   "subheading": "ゲームパッドの端末の出力（16:36 teleop_20261105_163620）"
  },
  {
   "file": "15_sec11.txt",
   "url": "/files/LOG446/15_sec11.txt",
   "chars": 11242,
   "lines": 154,
   "lang": "text",
   "section": "16:41 daemon が角度を読み直す待ちを0.2秒から0.02秒にした（受付なし 28回→13回）",
   "heading": "",
   "subheading": "daemon の読み直しを速くしたときと、ゲームパッドの端末の出力（17:03 teleop_20261105_170313）"
  },
  {
   "file": "16_sec11.txt",
   "url": "/files/LOG446/16_sec11.txt",
   "chars": 5656,
   "lines": 84,
   "lang": "text",
   "section": "16:41 daemon が角度を読み直す待ちを0.2秒から0.02秒にした（受付なし 28回→13回）",
   "heading": "",
   "subheading": "teleop_20261105_170313 を1回押しと止める処理ごとに並べた出力"
  },
  {
   "file": "17_teleop.py_commit_452a3b6_tools_gamepad_teleop.py.txt",
   "url": "/files/LOG446/17_teleop.py_commit_452a3b6_tools_gamepad_teleop.py.txt",
   "chars": 75916,
   "lines": 1617,
   "lang": "python",
   "section": "この回のコード（全文）",
   "heading": "gamepad_teleop.py（commit 452a3b6）",
   "subheading": "tools/gamepad_teleop.py"
  },
  {
   "file": "18_eop.py_89_commit_452a3b6_tools_test_gamepad_teleop.py.txt",
   "url": "/files/LOG446/18_eop.py_89_commit_452a3b6_tools_test_gamepad_teleop.py.txt",
   "chars": 69225,
   "lines": 1566,
   "lang": "python",
   "section": "この回のコード（全文）",
   "heading": "test_gamepad_teleop.py（テスト89件・commit 452a3b6）",
   "subheading": "tools/test_gamepad_teleop.py"
  },
  {
   "file": "19_jog_probe.sh_tools_jog_probe.sh.txt",
   "url": "/files/LOG446/19_jog_probe.sh_tools_jog_probe.sh.txt",
   "chars": 5902,
   "lines": 162,
   "lang": "bash",
   "section": "この回のコード（全文）",
   "heading": "jog_probe.sh",
   "subheading": "tools/jog_probe.sh"
  },
  {
   "file": "20_jog_probe_pi.py_tools_pi_jog_probe_pi.py.txt",
   "url": "/files/LOG446/20_jog_probe_pi.py_tools_pi_jog_probe_pi.py.txt",
   "chars": 18187,
   "lines": 480,
   "lang": "python",
   "section": "この回のコード（全文）",
   "heading": "jog_probe_pi.py",
   "subheading": "tools/pi/jog_probe_pi.py"
  },
  {
   "file": "21_daemon_add_stop.sh_tools_daemon_add_stop.sh.txt",
   "url": "/files/LOG446/21_daemon_add_stop.sh_tools_daemon_add_stop.sh.txt",
   "chars": 4295,
   "lines": 98,
   "lang": "bash",
   "section": "この回のコード（全文）",
   "heading": "daemon_add_stop.sh",
   "subheading": "tools/daemon_add_stop.sh"
  },
  {
   "file": "22_daemon_fast_read.sh_tools_daemon_fast_read.sh.txt",
   "url": "/files/LOG446/22_daemon_fast_read.sh_tools_daemon_fast_read.sh.txt",
   "chars": 4463,
   "lines": 101,
   "lang": "bash",
   "section": "この回のコード（全文）",
   "heading": "daemon_fast_read.sh",
   "subheading": "tools/daemon_fast_read.sh"
  },
  {
   "file": "23_i_mecharm_daemon.py_stop_tools_pi_mecharm_daemon.py.txt",
   "url": "/files/LOG446/23_i_mecharm_daemon.py_stop_tools_pi_mecharm_daemon.py.txt",
   "chars": 12781,
   "lines": 349,
   "lang": "python",
   "section": "この回のコード（全文）",
   "heading": "Pi の mecharm_daemon.py（stop を足し、読み直しを速くしたあと）",
   "subheading": "tools/pi/mecharm_daemon.py"
  },
  {
   "file": "24_sec18.json",
   "url": "/files/LOG446/24_sec18.json",
   "chars": 225021,
   "lines": 376,
   "lang": "json",
   "section": "この回の実機の記録（全量）",
   "heading": "16:00 の記録 runs/experiments/gamepad_teleop/teleop_20261105_160038/log.jsonl（376行）",
   "subheading": ""
  },
  {
   "file": "25_sec18.json",
   "url": "/files/LOG446/25_sec18.json",
   "chars": 66967,
   "lines": 118,
   "lang": "json",
   "section": "この回の実機の記録（全量）",
   "heading": "16:13 の記録 runs/experiments/gamepad_teleop/teleop_20261105_161347/log.jsonl（118行）",
   "subheading": ""
  },
  {
   "file": "26_sec18.json",
   "url": "/files/LOG446/26_sec18.json",
   "chars": 43194,
   "lines": 86,
   "lang": "json",
   "section": "この回の実機の記録（全量）",
   "heading": "16:22 の記録 runs/experiments/gamepad_teleop/teleop_20261105_162224/log.jsonl（86行）",
   "subheading": ""
  },
  {
   "file": "27_sec18.json",
   "url": "/files/LOG446/27_sec18.json",
   "chars": 182198,
   "lines": 326,
   "lang": "json",
   "section": "この回の実機の記録（全量）",
   "heading": "16:31 の記録 runs/experiments/gamepad_teleop/teleop_20261105_163144/log.jsonl（326行）",
   "subheading": ""
  },
  {
   "file": "28_sec18.json",
   "url": "/files/LOG446/28_sec18.json",
   "chars": 225335,
   "lines": 386,
   "lang": "json",
   "section": "この回の実機の記録（全量）",
   "heading": "16:36 の記録 runs/experiments/gamepad_teleop/teleop_20261105_163620/log.jsonl（386行）",
   "subheading": ""
  },
  {
   "file": "29_sec18.json",
   "url": "/files/LOG446/29_sec18.json",
   "chars": 330830,
   "lines": 549,
   "lang": "json",
   "section": "この回の実機の記録（全量）",
   "heading": "17:03 の記録 runs/experiments/gamepad_teleop/teleop_20261105_170313/log.jsonl（549行）",
   "subheading": ""
  },
  {
   "file": "30_sec18.json",
   "url": "/files/LOG446/30_sec18.json",
   "chars": 138766,
   "lines": 235,
   "lang": "json",
   "section": "この回の実機の記録（全量）",
   "heading": "17:11 の記録 runs/experiments/gamepad_teleop/teleop_20261105_171125/log.jsonl（235行）",
   "subheading": ""
  },
  {
   "file": "31_diag_jog_probe_20261105_153952_stop_console.txt",
   "url": "/files/LOG446/31_diag_jog_probe_20261105_153952_stop_console.txt",
   "chars": 3499,
   "lines": 83,
   "lang": "text",
   "section": "この回の実機の記録（全量）",
   "heading": "diag/jog_probe_20261105_153952_stop/console.txt",
   "subheading": ""
  }
 ],
 "article_full_markdown": "/files/LOG446/LOG446_full.md"
}