Issue #69。2026-08-20の利用者レビューで承認された、通常実筆を入口から退出まで完成させるための設計判断。
2026-08-30 Issue #114により、中央耕から仕上げ3列目への「耕したまま接続する」別経路
(FinishingLapApproach(3))を足さない。Issue #115コメント #5772〜#5774により、仕上げ3列目の開始位置を
先に固定し、その位置のlateral offsetへ中央lane格子を固定しない(座標一致は求めない)。Issue #119により、
中央耕は各WorkArea内で単一の連続往復とし、その終端隅から仕上げ周回と同じ向きにロータリーを上げた空走
(逆走・Uターンなし、周回開始位置にその走行方向と揃った向きで到着)で仕上げ3列目の開始位置へ移る。この
空走は正式なplan actionとして持ち、その跡は後続の外周耕(3→1→2)で覆う。三原則と外周lap間の接続方針は
変更しない。
2026-08-30 Issue #115事前検討により、外周3列と中央耕の境界にもProfileで指定された重ね幅を適用する。
同日Issue #115実装レビュー(comment #5769)で、中央列間・WorkArea間接続は完成geometry確定後に、後続耕で
覆われる区間をDEADHEAD、覆われない区間を接続時に耕すTILLへ分類する利用者意図を再確認した。
Stage 7までの通常中央耕を実装した後、分裂segmentや一般的なWorkArea探索を先に作り込む案を検討した。
しかし、実在するか不明な特殊形状を先回りして扱うと、実圃場では一度も使われない複雑なロジックを増やし、
入口から退出までの完成経路と現地試用を遅らせる。以後は、通常実筆を安全に最後まで走れる最小構成を先に完成し、
実際に発生した問題を計画ログと移動記録から再現して次の改善へ反映する。
穴のあるドーナツ状の圃場は当面の対象外とする。穴のない通常圃場では、中央耕中のブロック間移動に、
まだ耕耘していない中央部分または仕上げ用に残した外周帯を使う。既耕部分の移動も、その後にもう一度耕す
予定があれば許可するが、不要な多重耕耘と土への負担を避けるため優先度を下げる。
同じ場所を複数回通る場合は、原則として最後に通る走行へ耕耘責任を割り当て、それ以前の通過では
ロータリーを上げる。狭い首部分で仕上げ周回3列目・1列目・2列目が重なる場合、3列目と1列目では上げ、
2列目で下ろして耕す。2列目自身の行きと帰りが重なる場合は、行きで上げ、帰りで下ろす。
ロータリーを上げられるのは、その区間が後続走行の作業機幅によって完全に覆われる場合だけとする。
一部しか覆われない場合は、耕し残しを避けるため先行走行でも耕し、必要な重複を許容する。一つの走行中でも
被覆の切り替わり位置でTILLとDEADHEADへ分割する。
完成計画は次をすべて満たす。
TILLする全区間の作業機幅unionが耕耘対象を覆い、未被覆を残さない。DEADHEAD移動軌跡(中央耕終了→仕上げ3列目の空走を含む)が、それより後のTILL作業機幅unionに含まれる。補正可能な小さな未被覆を数値誤差として黙って捨てない。予定走行で覆えなければ、バックまたは短い補正耕耘を
後続Trackで追加できる診断結果として残す。完成条件を満たさない計画はPCで診断表示してよいが、実行可能な
完成計画としてTabletへ送らない。
DEADHEAD actionとして1本置く(耕したまま接続するFinishingLapApproach(3)は作らない)。中央耕終了地点と仕上げ3列目開始位置の座標一致は求めない。分裂segment、一般的なWorkArea候補探索、穴のある圃場、稀な特殊形状の先回り実装は延期する。通常形状で
Stage 8/9の処理対象が無い場合はidentity結果として後段へ進め、入口から退出までの完成を妨げない。
TILL/DEADHEADと判断理由。DEADHEAD被覆関係。Stage契約の正本はdocs/runbooks/navigation-field-geometry-pipeline-contract-pattern-1.mdとする。