Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Explore — frontier coverage + wander

Marketplace package for explore and wander. Both are long-running actions on the in-repo agenticros_explore node. The node picks poses (frontiers or random free cells) and sends Nav2 NavigateToPose — obstacle avoidance stays in Nav2.

This is not a SLAM skill. Pair with @agenticros/start-slam when you want a map, and @agenticros/navigate-to once you have poses.

npx agenticros skills install @agenticros/explore
# or: npx agenticros skills install chrismatthieu/explore
# or: "skillRefs": ["@agenticros/explore"]

Capabilities

Id Action When to use
explore explore (agenticros_msgs/action/Explore) Map a room: drive to occupancy-grid frontiers until coverage, timeout, or cancel
wander wander (same action type) Walk around in known free space for timeout_s — no completeness goal

Both set blocks_base: true and interruptible: true (mission cancel aborts the action and the in-flight Nav2 goal).

Mission example — map the room

{
  "mission": {
    "name": "map the room",
    "steps": [
      { "id": "slam", "capability": "start_slam", "inputs": { "request": {} } },
      { "id": "cover", "capability": "explore", "inputs": { "timeout_s": 180 } },
      { "id": "save", "capability": "save_map", "inputs": { "request": {} } },
      { "id": "localize", "capability": "set_localization_mode", "inputs": { "request": {} } }
    ]
  }
}

Wander only (map already exists, or SLAM is already publishing /map):

{
  "mission": {
    "name": "wander",
    "steps": [
      { "id": "walk", "capability": "wander", "inputs": { "timeout_s": 60 } }
    ]
  }
}

Natural language (rule-based planner, once the skill is installed): "map the room", "explore the room", "wander around".

ROS apt packages (required)

The marketplace skill only dispatches actions. On the robot you still need Nav2 and (for mapping) RTAB-Map. Jazzy:

sudo apt-get install -y \
  ros-jazzy-navigation2 \
  ros-jazzy-nav2-bringup \
  ros-jazzy-rtabmap-ros

Humble: the same package names with ros-humble-…. navigation2 is the Nav2 metapackage (navigate_to_pose, costmaps); nav2-bringup is the launch/params; rtabmap-ros publishes /map and mapodom. Installing only nav2-bringup is not enough.

Optional, for the default RealSense launch: ros-jazzy-realsense2-camera.

Bringup

# From the AgenticROS ros2_ws (after the apt packages above)
source /opt/ros/jazzy/setup.bash
colcon build --packages-select agenticros_msgs agenticros_explore agenticros_bringup
source install/setup.bash

# Combined RealSense + RTAB-Map + Nav2 (no AMCL) + this node:
ros2 launch agenticros_bringup rtabmap_nav2.launch.py

# Or the explore node alone, if Nav2 + /map are already up:
ros2 launch agenticros_explore explore.launch.py

Full operator notes: Mapping a room.

agenticros up sim-amr --nav2 uses a static map + AMCL, not live RTAB-Map. That path still needs ros-jazzy-navigation2 and ros-jazzy-nav2-bringup (not RTAB-Map). Wander works because /map exists; frontier explore finishes quickly on an already-complete grid.

Requirements

  • Apt: ros-jazzy-navigation2, ros-jazzy-nav2-bringup, and ros-jazzy-rtabmap-ros for live mapping (see above)
  • Built agenticros_msgs + agenticros_explore
  • Nav2 advertising navigate_to_pose
  • A live /map (nav_msgs/OccupancyGrid) from RTAB-Map, slam_toolbox, or map_server
  • TF mapbase_footprint (or base_link)
  • Transport that supports actions (local DDS, rosbridge, or WebRTC)

About

AgenticROS skill: frontier exploration and safe wandering via Nav2

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages