dimensionalOS / dimensionalOS/dimos

Good Frontier Exploration

Open
#1,255 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement go2 good first issue good trial issue navigation
Dominant language
Python
Stars
4.5k
Forks
808
Avg merge
3d 5h
Merged PRs (30d)
233

Description

Current Frontier Exploration algo jumps across the map to random unexplored places. so robot expores 1 meter, then has to walk to the other side of the building to explore 1 meter, then goes back etc.

/dimos/navigation/frontier_exploration/wavefront_frontier_goal_selector.py

is very heavy, is a module (should it just be a function "give me next goal") ? not sure.

Alternative idea (but open for different approaches, just make it good)

If you just place a target outside of the reachable space, and A* is allowed to try and path through unknown space, A* will potentially start optimally exploring

Proposed Solution (but not sure, needs validation):

  • Place a target in an unexplored area on the map boundary - if reached, place another also on the map boundary, but slightly rotated with regards to map center.

Profit - In a room target will end up outside of the wall, and A* will explore all.

In perfectly empty space, robot explores in a spiral, since we are placing targets slightly rotated once reached

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading dimos/navigation/frontier_exploration/wavefront_frontier_goal_selector.py and its goal-selection call sites to understand the current random frontier behavior. Validate candidate approaches in an exploration scenario, including rooms and open space. Done means frontier goals produce coherent exploration with substantially less travel between small unexplored areas.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
robotics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.