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"]| 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": {
"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".
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-rosHumble: 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 map → odom. Installing only nav2-bringup is not enough.
Optional, for the default RealSense launch: ros-jazzy-realsense2-camera.
# 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.pyFull 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.
- Apt:
ros-jazzy-navigation2,ros-jazzy-nav2-bringup, andros-jazzy-rtabmap-rosfor 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
map→base_footprint(orbase_link) - Transport that supports actions (local DDS, rosbridge, or WebRTC)