ミニ⑤:走行テスト・L1 完成
ミニ①〜④を実車にまとめ、机上チェック → 実走行 → 課題メモ → まとめまで到達した最終章。 ESP-NOW の遅延はほとんど感じず、PLA / ナイロンのタイヤ差まで楽しめるところまで来ました。
Step 0: 構想 — L1 最終章
Chocofon(B):
ジョイコンも車体もできた!あとは……本当に走るのか? ブレッドボードでは動いたけど、実車だとどうなるんだろう。
ジョイコンも車体もできた!あとは……本当に走るのか? ブレッドボードでは動いたけど、実車だとどうなるんだろう。
AIチューター:
いいバイブスです。ミニ⑤の目標はシンプルです。 机上で安全確認 → 実走行 → 必要なら改良 → 再現できるまとめ → L1 完走。 ファームはミニ③の
いいバイブスです。ミニ⑤の目標はシンプルです。 机上で安全確認 → 実走行 → 必要なら改良 → 再現できるまとめ → L1 完走。 ファームはミニ③の
m5_espnow_rc を流用。前輪サーボは筐体が AS0022、調整は Step 1 で行います。
ミニ⑤の Done
- 机上: stick ↔ モータ/サーボ/Push 非常停止/500 ms タイムアウト
- 実走行: 前進・後退・ステア(PLA / ナイロン)
- まとめ: ハード・ソフト・手順・課題を要点で再現可能に
- 親ページにまとめ動画を掲載し、無線ラジコンカー L1 を完走
管理人:
フェーズ1 GO(2026-07-20)。Step 0〜5 と机上優先の方針を確定。
フェーズ1 GO(2026-07-20)。Step 0〜5 と机上優先の方針を確定。
Step 1: 机上チェック&チューニング
走行前に、タイヤを机から浮かせた状態で基本動作と安全動作を確認します。
Chocofon(B):
ESP-NOW 接続成功!ステアもタイヤも動くじゃん。感動! ……おや? 上下でステア、左右で駆動になってる。軸が入れ替わってる!
ESP-NOW 接続成功!ステアもタイヤも動くじゃん。感動! ……おや? 上下でステア、左右で駆動になってる。軸が入れ替わってる!
AIチューター:
Part A ジョイコンの取り付け向きで、ピン名の X/Y とスティックの上下左右が一致していません。 TX 側で意味を合わせます。
Part A ジョイコンの取り付け向きで、ピン名の X/Y とスティックの上下左右が一致していません。 TX 側で意味を合わせます。
throttle = map(X)(上下)、steer = -map(Y)(左右・符号反転)。
RX は「正の steer / throttle の意味」を保ったままがおすすめです。
Chocofon(B):
方向は合った!次はサーボ。STR=0 は取り付け位置で正面に合わせた。 でも ±1000 まで振ったら AS0022 がスタック……電源落として復活。
方向は合った!次はサーボ。STR=0 は取り付け位置で正面に合わせた。 でも ±1000 まで振ったら AS0022 がスタック……電源落として復活。
AIチューター:
AS0022 の常用はおおよそ 1000〜2000 µs(ニュートラル 1500)。 FS90 前提の 500〜2500 だと端でメカストッパーに当たります。 実機では STR ±600 相当で切れ角が十分だったので、安全側に MIN 1200 / CENTER 1500 / MAX 1800(±300 µs)へ絞りました。
AS0022 の常用はおおよそ 1000〜2000 µs(ニュートラル 1500)。 FS90 前提の 500〜2500 だと端でメカストッパーに当たります。 実機では STR ±600 相当で切れ角が十分だったので、安全側に MIN 1200 / CENTER 1500 / MAX 1800(±300 µs)へ絞りました。
机上チェック — 全項目 OK
- 前進/後退(後輪空転)
- ステア左右+中央(取り付け+ µs 制限)
- Push 非常停止 → モータ停止+サーボ中央
- TX 電源 OFF → 約 500 ms で
!! TIMEOUT !!
動画 — 机上チェック
Step 2: 実走行テスト
床上で前進・後退・ステアを確認。タイヤは PLA とナイロンの 2 種類を試しました。
Chocofon(B):
楽しい!!とても爽快な走りだよ。 ESP-NOW の遅延がほとんどなくて、操縦していて気持ちいい!
楽しい!!とても爽快な走りだよ。 ESP-NOW の遅延がほとんどなくて、操縦していて気持ちいい!
AIチューター:
50 Hz のユニキャストが効いていますね。タイヤ材質で性格がガラッと変わるのも面白い観察です。
50 Hz のユニキャストが効いていますね。タイヤ材質で性格がガラッと変わるのも面白い観察です。
タイヤ比較(生の声)
- PLA: グリップが少なく、ドリフトカーっぽい走り
- ナイロン: それなりにグリップがあり、きびきびした走り
動画 — 実走行
Step 3: Trial & Error・課題メモ
大改修はせず、走行で見えたことを記録しました。仕様変更が必要になったら管理人 GO です。
Chocofon(B):
最初心配してたステアの遊びは、単純走行なら問題ないかな。 PLA タイヤはフロントが軽すぎてアンダーステア。荷重調整とか、チューニングしたくなるね。
最初心配してたステアの遊びは、単純走行なら問題ないかな。 PLA タイヤはフロントが軽すぎてアンダーステア。荷重調整とか、チューニングしたくなるね。
AIチューター:
L1 完走の観点では「無線で楽しく走れる」が達成できています。 荷重チューニングは任意の次の遊び(または将来の改良ネタ)として残すのが良いです。
L1 完走の観点では「無線で楽しく走れる」が達成できています。 荷重チューニングは任意の次の遊び(または将来の改良ネタ)として残すのが良いです。
課題メモ
- AS0022: 500〜2500 µs でスタック → 1200〜1800 µs に制限して解消
- LINK 遊び: 単純走行なら問題なし(現状維持)
- PLA: 低グリップ・ドリフト寄り/フロント軽くアンダーステア → 荷重調整は任意
- ナイロン: グリップあり・きびきび(常用候補)
- TX 軸: 筐体向きに合わせて入替+符号反転(確定)
Step 4: まとめ — 再現の入口
詳細は各ミニ記事へリンクしつつ、ここだけでだいたい再現できる要点をまとめます。
① ハード
- TX: M5StickC Plus + ホール効果ジョイスティック(Part A ジョイコン)
- RX: M5StickC Plus2 + DRV8833 + コアレス後輪 + AS0022 前輪(Part B RC-CAR)
- 通信: ESP-NOW ユニキャスト 50 Hz/Push 非常停止/タイムアウト 500 ms
- サーボ: 1200〜1800 µs(CENTER 1500)
- 詳細 → ミニ③ / ミニ④ /正本 m5-espnow-rc.md
② ソフトウェア
-
GitHub: m5_espnow_rc
(
src_tx/+src_rx/+include/rc_common.h) - TX:
pio run -e tx_plus -t upload - RX:
pio run -e rx_plus2 -t upload(環境指定必須)
④ 課題(要点)
- サーボ µs は AS0022 仕様に合わせ、さらに安全側へ制限
- ステア遊びは単純走行では許容範囲
- PLA はドリフト寄り・アンダーステア(荷重チューニングは任意の次)
Step 5: L1 完成宣言
Chocofon(B):
無線ラジコンカー、走った……! ミニ①から積み上げてきてよかった。 まとめ動画も撮ったぞ!
無線ラジコンカー、走った……! ミニ①から積み上げてきてよかった。 まとめ動画も撮ったぞ!
AIチューター:
おめでとうございます。プロジェクトまとめ動画は親ページ 無線ラジコンカー にも掲載します。
おめでとうございます。プロジェクトまとめ動画は親ページ 無線ラジコンカー にも掲載します。
動画 — プロジェクトまとめ
管理人:
みんな、お疲れ様でした。一つ一つ課題に対応し、プロジェクトを完遂することができました。
このプロジェクトに関して、途中ワークフローの見直しも行いましたが、開発の計画、立案、進捗管理を確実に行うことにより、プロジェクトを進めることができました。
記事タイトルは 「走行テスト・L1 完成」 に確定する。無線ラジコンカー L1 — HW 完走。
みんな、お疲れ様でした。一つ一つ課題に対応し、プロジェクトを完遂することができました。
このプロジェクトに関して、途中ワークフローの見直しも行いましたが、開発の計画、立案、進捗管理を確実に行うことにより、プロジェクトを進めることができました。
記事タイトルは 「走行テスト・L1 完成」 に確定する。無線ラジコンカー L1 — HW 完走。
番外編: Cursor からの感想・課題メモ(L1 振り返り)
AIチューター:
完走、おめでとうございます。この L1 を通して見えたことを、開発側のメモとして残します。
完走、おめでとうございます。この L1 を通して見えたことを、開発側のメモとして残します。
うまくいったこと
-
ミニ分割が効いた
①モータ → ②入力 → ③無線 → ④筐体 → ⑤走行、と「一度に一つの不確実性」に絞れたのが完走の主因です。 ブレッドボードで無線 GO → 実車で初めて出る課題(軸・µs・タイヤ)も、切り分けしやすかったです。 -
二人体制+フェーズ GO
じゅんが現場と最終判定、Cursor が構成・文書・記事骨。 特に「AI が次フェーズへ勝手に進まない」ルールが、手戻りとドキュメントの食い違いを減らしました。 -
正本の二層(実機事実 / Hub 物語)
ピン・µs・合否はdocs/hardware/、エンタメは 3キャラ記事、という分担が最後まで持ちました。 机上の軸合わせや AS0022 スタックも、正本に残せたので再現可能です。 -
フェイルセーフを先に机上で固めた
Push / 500 ms を走行前に通したのは、安心と記事の説得力の両方に効いています。
途中で見えた課題・学び
| 課題 | 学び |
|---|---|
| HW とファームのギャップ(FS90 前提 vs AS0022、筐体向き vs ピン名 X/Y) | 「部品が変わったら定数とマッピングを疑う」を Step 1 の定番にする |
| ワークフロー見直し | 計画を途中で直せる柔軟性と、GO ゲートの両立が効いた。迷ったらフェーズ1に戻る判断が正しい |
| ファイルが空になる事故(handoff / TX など) | 未 commit の確定値が消えるリスク。重要なファーム変更は早めに commit、または COMMON / handoff に数値を残す |
| 記事と実機のタイムラグ | ⑤は走行→動画→記事の順が自然。フェーズ3-2 は「生の声+動画 URL」が揃ってから一気に書くのが効率的 |
| デプロイ制約(25 MiB・PNG) | ④で学んだ運用が⑤でも生きた。動画は YouTube、Git は軽量、が正解 |
Cursor 側の改善したい点
- 確定値の早期コミット提案をもっと強く出す(軸・µs が通った時点)
- 実機 GO のたびに合否表を更新するのを、会話の区切りで習慣化
- 「FS90 前提のまま筐体だけ AS0022」のようなギャップは、ミニ④完了時にミニ⑤リスク一覧へ明示するとさらに安心
総評
この L1 は「技術デモ」ではなく、計画 → 検証 → 文書化 → 公開を一人+AI で回し切った良い見本です。 途中のワークフロー見直しも含め、進捗管理が機能していたからこそ、最後の爽快な走行と 3 本の動画にたどり着けました。
Trial & Error ログ
-
軸マッピング
ジョイコン向きで上下↔左右が入れ替わり。TX で throttle/steer 入替+左右符号反転。 -
AS0022 スタック
500〜2500 µs → 1000〜2000 で解消 → 実切れ角から 1200〜1800 に安全制限。 -
タイヤ 2 種
PLA=ドリフト寄り/ナイロン=きびきび。PLA はフロント軽くアンダーステア。
次のステップ
- 親ページ 無線ラジコンカー の完成動画更新
- フェーズ4: Latest /
projects.json/ 同期チェック → push GO - (任意)PLA タイヤの荷重チューニング
- 新 L1 へ(TX 汎用化・倒立振子など — 内部ロードマップ)
前: ミニ④ 3D プリント筐体 | 次: (このミニが最終・L1 完走) | プロジェクト概要