Back to packages

robonix.skill.minecraft_explore

Frontier-based exploration skill for the Minecraft example.

README

Minecraft exploration skill

This package adds autonomous frontier exploration to a Minecraft Robonix deployment. It consumes existing occupancy-grid and map-pose capabilities and calls the existing navigation capabilities for collision-aware movement and in-place turns. Dependencies are discovered through Atlas rather than fixed provider ids or repository paths.

Frontiers are limited to the robot's connected known-free area and ranked by occupancy-grid path distance. A frontier beyond one navigation leg receives an intermediate free target instead of being discarded. Failed targets use bounded retry delay and become eligible immediately after the occupancy grid changes; temporarily deferred targets do not count as completed exploration.

Exploration runs asynchronously; the caller retains the returned run id and uses it to poll status or cancel the run.

Compatibility

  • ROS 2 Jazzy
  • Robonix development baseline 74b4ca0f7c0db3c237730321753501e12646c626

The skill tracks the latest Robonix development version. Compatibility is verified again for every skill release.

Build

With rbnx installed and configured against a compatible Robonix source tree:

rbnx validate .
rbnx build -p .

The build generates bindings from the local explore capability contracts and runs the frontier and runtime tests. During deployment, the skill remains inactive after initialization and resolves its map, pose, and navigation dependencies when activated.

Configuration

  • min_frontier_cells: preferred connected frontier group size, default 3; smaller reachable groups remain lower-priority fallback targets.
  • max_frontier_distance_m: maximum occupancy-grid path length for one navigation leg; farther frontiers receive an intermediate target, default 12.
  • obstacle_clearance_m: occupied-cell clearance filter, default 0.35.
  • done_quiet_sec: frontier-free time before success, default 15.
  • nav_goal_timeout_sec: timeout for one navigation leg, default 120.
  • nav_poll_sec: navigation status polling interval, default 0.5.
  • settle_sec: map settling delay between actions, default 1.
  • input_timeout_sec: activation input deadline, default 30.
  • max_speed_m_s: navigation speed used by this deployment, default 0.25. Keep it equal to minecraft_navigation.linear_speed; requests with a lower safety cap are rejected instead of silently exceeding it.

The complete accepted configuration, including units and validation ranges, is documented in config.spec.

Provenance

This skill was extracted from examples/minecraft-mod/skills/minecraft_explore in syswonder/robonix at commit e30b99b4ca606d5a3463e9c42d7df2de81d680c4. It is distributed under the MulanPSL-2.0 license included in this repository.