初始化扫描阶段 start_yaw_ 是否可能未及时更新,导致 frontier 状态异常?
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 45/100
Hướng nghiên cứu
Start in src/planner/exploration_manager/src/exploration_fsm.cpp, especially ExplorationFSM::FSMCallback() and its initialization-scan calls to updateFrontierAndObject(). Trace how dormantSeenFrontiers() uses start_pt_ and start_yaw_ during each turn, then compare the observed frontier transitions with the saved videos or BEV visualizations and HM3D ObjectNav v2 runs. Done means the expected initialization behavior and the relationship between release and evaluation code are documented or confirmed.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
你好,感谢开源 ApexNav。我们在复现 HM3D ObjectNav v2 评测时观察到一个可能的问题,想确认这是否是预期行为,或者是否与论文内部评测代码有所不同。
我们使用公开仓库当前 release 代码运行 HM3D v2 val split 时,发现不少 episode 会在初始化扫描后很早进入 no frontier,但从保存的视频/BEV 可视化看,环境中似乎仍然存在明显可探索的 frontier。
我们检查到一个可能相关的时序问题:
在 src/planner/exploration_manager/src/exploration_fsm.cpp 中,ExplorationFSM::FSMCallback() 的初始化扫描阶段会执行:
if (fd_->init_action_count_ < 1 + 12 + 1 + 12) {
...
fd_->init_action_count_++;
transitState(ROS_STATE::PUB_ACTION, "FSM");
updateFrontierAndObject();
}
而 updateFrontierAndObject() 内部会调用:
frt_map->dormantSeenFrontiers(start_pos2d, fd_->start_yaw_(0));
fd_->start_yaw_ 初始化为 zero,并且在原代码里似乎直到初始化扫描结束后的 main planning branch 才会被设置为当前 fd_->odom_yaw_。但是初始化扫描过程中机器人会原地旋转,每次 turn 后 odom yaw 都已经改变。这样 dormantSeenFrontiers() 在初始化过程中可能会一直使用 stale yaw=0 来做 FOV 判断,从而把一些实际上不在当前视野内的 active frontiers 提前移动到 dormant frontiers。
我们做了一个小修改:在初始化扫描阶段调用 updateFrontierAndObject() 之前,同步当前 pose/yaw:
fd_->start_pt_ = fd_->odom_pos_;
fd_->start_yaw_(0) = fd_->odom_yaw_;
这个修改后,我们之前观察到的几个早期 no frontier case 不再复现,全量复测中,no frontier 失败数量也明显下降。
想请教:
初始化扫描阶段调用 updateFrontierAndObject() 时,是否本来就应该使用当前 odom yaw?
公开 release 代码是否和论文中 HM3D v2 评测使用的代码完全一致?
这个 start_yaw_ 在初始化扫描阶段保持默认值 0 是否是预期设计?
- Ngôn ngữ chính
- C
- Star
- 456
- Fork
- 38
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Chúng tôi chưa kiểm tra các tệp thiết lập môi trường của dự án này. Hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Robotics-STAR-Lab/ApexNav
-
实机部署RGB-D数据频率Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 15/100
Robotics-STAR-Lab/ApexNav#49 ·
-
请问支持三个数据集在一张卡上并行推理吗?Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
Robotics-STAR-Lab/ApexNav#48 · 1 bình luận ·
-
实机建图问题Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
Robotics-STAR-Lab/ApexNav#45 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
Robotics-STAR-Lab/ApexNav#41 · 3 bình luận ·
-
ROS2环境配置问题Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
Robotics-STAR-Lab/ApexNav#36 · 2 bình luận ·
Tất cả issue của Robotics-STAR-Lab/ApexNav
Issue tương tự
-
area:lint-tooling bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
InauguralSystems/EigenScript#1340 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: chunk_span_bounds and _validated_chunk_spans reject Pydantic models ChunkSpan and AudioFileĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
BasedHardware/omi#19047 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
obsproject/obs-studio#13936 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[meshoptimizer] update to 1.3Đang mởcategory:port-update
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày