# RAI: Navigate and collect semantic observations

Send Nav2 waypoint goals and wait for semantic detections to be collected along the route.

ID: `rai-src-rai-semap-rai-semap-scripts-navigate-collect-py`

Record version: `source-b0e08342b66d6de90052a585c63e9fec5bb05d4cde79475b391a9964e087679f`

Hub commit: `66a13cd6ae8ab828219a4916587fb83d6dc71809`

## Access

Fetch the pinned repository, verify this source checksum, and use upstream installation and invocation. This record does not install or execute code.

Optional inert file retrieval: `python /PATH_TO_SKILL/scripts/rsh.py fetch-source rai-src-rai-semap-rai-semap-scripts-navigate-collect-py --expected-source-revision b018729833742c6f71e1e9f332ee2b435676fb4f --expected-source-sha256 b0e08342b66d6de90052a585c63e9fec5bb05d4cde79475b391a9964e087679f --project ./experiment --json`. This verifies one file, preserves provenance and never installs or runs it. See [source-file retrieval](https://hub.superfastrobotics.com/source-files.md).

Hub preparation adapter: **false**. Runtime verification: **not_run**.

Upstream setup: https://github.com/RobotecAI/rai/blob/b018729833742c6f71e1e9f332ee2b435676fb4f/docs/setup/install.md

## Source and license

- Repository: https://github.com/RobotecAI/rai
- Pinned source: https://github.com/RobotecAI/rai/blob/b018729833742c6f71e1e9f332ee2b435676fb4f/src/rai_semap/rai_semap/scripts/navigate_collect.py
- Revision: `b018729833742c6f71e1e9f332ee2b435676fb4f`
- Path: `src/rai_semap/rai_semap/scripts/navigate_collect.py`
- Source SHA256: `b0e08342b66d6de90052a585c63e9fec5bb05d4cde79475b391a9964e087679f`
- Source bytes: 7457
- Original authors: Julia Jia (per-file notice/package metadata)
- License: [Apache-2.0](https://github.com/RobotecAI/rai/blob/b018729833742c6f71e1e9f332ee2b435676fb4f/LICENSE)
- License scope: Selected first-party source and per-file notices; excludes models, dependencies, datasets, simulator assets and external service terms.

License SHA256: `c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4`

## Artifact

```json
{
  "kind": "workflow",
  "format": "python",
  "workflow_role": "robot-navigation-data-collection"
}
```

## Requirements

```json
{
  "python": "Root/core/whoami/perception/semap/s2s use >=3.10,<3.13; standalone finetune uses >=3.10,<3.12. Match sourced ROS distribution Python.",
  "packages": [
    "Pinned RAI checkout",
    "Matching ROS 2 and rai_interfaces",
    "Per-workflow packages, local model or hosted-provider dependencies from pinned setup"
  ],
  "display": "Official setup documents ROS 2 Humble/Jazzy, rai_interfaces and feature-specific environment. Nothing installed or runtime verified.",
  "execution_domain": "computation-or-hardware",
  "source_imports": [
    "argparse",
    "logging",
    "nav2_msgs.action",
    "rai.communication.ros2",
    "rai.tools.ros2",
    "rai.tools.time",
    "rai_semap.utils.ros2_log",
    "rclpy",
    "rclpy.action",
    "time",
    "typing"
  ],
  "notes": "Upstream per-workflow profile declarations only; provider availability, dependency resolution and runtime/robot compatibility are unverified.",
  "declared_requirements": {
    "semap": {
      "gpu": "No direct GPU declaration for selected mapping/collection wrappers. Separate perception producer hardware/model requirements apply.",
      "external_models": "External map, camera/depth, detection and TF inputs; persistent semantic database; Nav2 server for navigation collector.",
      "api": "No hosted LLM API directly required by these selected wrappers.",
      "environment": "Experimental ROS 2 module. Exact topics/configuration and coordinate frames must match the selected robot/simulator. Collector sends navigation goals.",
      "evidence_paths": [
        "src/rai_semap/README.md",
        "src/rai_semap/pyproject.toml"
      ]
    }
  }
}
```

## Invocation

```json
{
  "entrypoint": "python -m rai_semap.scripts.navigate_collect --waypoints <x1> <y1> <x2> <y2>",
  "notes": "Source/setup invocation shape only; not executed or runtime verified. Source references only; no Hub adapter, compatibility promise, provider access grant or runtime result."
}
```

## Compatibility

```json
[]
```

Missing environment fields remain unknown. Source discovery labels do not establish robot compatibility.

## Evidence

Level: **source_reviewed**. Runtime verification: **not_run**.

Verified exact source, applicable license and author/setup document bytes at a full Git commit; parsed the Python AST and reviewed this guarded operational entrypoint and its explicit license notices. No upstream code, installation, robot command, dataset, mesh or checkpoint was executed or loaded.

Source review and contributor reports do not establish task completion. Preserve upstream attribution and licenses.
