Skip to content

Feat/toponav#2

Open
Kasaiatsuki wants to merge 31 commits into
mainfrom
feat/toponav
Open

Feat/toponav#2
Kasaiatsuki wants to merge 31 commits into
mainfrom
feat/toponav

Conversation

@Kasaiatsuki
Copy link
Copy Markdown
Collaborator

ml_plannerのロジックを参考にトポロジカルマップを用いて最近傍ノードを推定しゴール画像を選択してナビゲーションを行う

Kasai Atsuki added 8 commits May 5, 2026 17:14
Load ml_planner-style topomap files, estimate the current node by PlaceNet inner product, and select the next graph node as the NavVLA goal.
Provide a CLI that builds topomap.yaml and node images from create_data.py datasets using PlaceNet features.
Update the goal image tensor from the topological navigator during inference so the next topomap node becomes the active NavVLA target.
Expose flags and paths for enabling topomap-based goal selection and PlaceNet feature matching.
Package generated topomap files when present and register the create_topomap console script.
Keep generated deployment topomap data and local PlaceNet weights out of version control.
Keep toponav.py focused on loading and using existing topomaps, and move TopomapGenerator into the create_topomap command module.
@Kasaiatsuki
Copy link
Copy Markdown
Collaborator Author

二号館を左周りしたコースでトポロジカルマップを設定してそれを基に自分がいる位置に近いノードを推定し、次の目標画像をomnivla-edgeに入力としていれて実験しました。
モードは画像だけを使ってナビゲーションをするモードになっています。
結果としてはある程度走行できるが、複雑な経路を走るにはまだ厳しい印象でした。
検証動画

Copy link
Copy Markdown
Collaborator

@kyo0221 kyo0221 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

レビューしました
一部致命的なところもあるので,確認しましょう(後半はあんまり良く見てませんが)

生成AIを活用するのは良いと思うんですけど,少なくとも慣れないうちは調査や分析にAIを活用するようにして,判断は人間が担当したほうが良いと思います
判断までAIに任せると前提条件に逆らったコードが生成されたりするので

Comment thread deployment/config/nav.yaml
Comment thread deployment/config/nav.yaml
Comment thread deployment/config/nav.yaml
Comment thread deployment/navvla/create_topomap.py
import torch
from PIL import Image as PILImage

_THIS_FILE = Path(__file__).resolve()
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

この辺のpath周りの設定,変更が不要なようにも思えるのですが,変更が必要なら理由を教えてください



def _update_text_feature(self) -> None:
prompt = self.latest_prompt if self.use_prompt else "No language instruction"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

modality id次第で切り替えればuse_promptというパラメータを用意せずに済みそうですね

その際にプロンプトが与えられていないのであれば,エラーを返すようにしたほうが良いと思います.

Comment thread deployment/navvla/create_topomap.py
Comment thread deployment/navvla/create_topomap.py Outdated
Comment thread deployment/navvla/create_topomap.py
with torch.no_grad():
self.feat_text = self.text_encoder.encode_text(token)

def resolve_package_path(self, raw_path: str) -> Path:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ちょっと気持ち悪いことをしている

Copy link
Copy Markdown
Collaborator

@kyo0221 kyo0221 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

指摘ではないので,質問に答えていただければ大丈夫です

Comment thread training/loop.py
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

checkpointに学習率の情報を含めたことや,schedulerの定義位置を変えたことに理由があれば教えてほしいです

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

過学習が起こらないように学習率が最後のエポックで0になるようにコサインカーブで収束していくようにしているのですが、チェックポイントに学習率の情報を入れないと学習を中断して、また再開するときに一番高い学習率から始まるためこのような処理をいれました。

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

なるほどー、二重でファインチューニングする時って感じですかね

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

そうです。
二重というよりかは指定したエポックに到達する前に学習を中断しても途中からその学習を再開できるようにしてます。
ノートpcで学習してるのでそのような場面が生まれてしまいます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants