Note
This is a Hugging Face dataset. For large datasets, ensure huggingface_hub>=1.1.3 to avoid rate limits. Learn more in the Hugging Face integration docs.
Dataset Card for NavWareSet#

This is a FiftyOne dataset with 7 samples.
Installation#
If you haven’t already, install FiftyOne:
pip install -U fiftyone
Usage#
import fiftyone as fo
from fiftyone.utils.huggingface import load_from_hub
# Load the dataset
# Note: other available arguments include 'max_samples', etc
dataset = load_from_hub("Voxel51/navwareset")
# Launch the App
session = fo.launch_app(dataset)
Dataset Details#
Dataset Description#
NavWareSet is a multi-modal dataset of socially-compliant and non-compliant robot navigation around human pedestrians, collected in a controlled indoor environment (3.9 m × 10.7 m). The source dataset covers 48 scenes across seven canonical social-navigation scenarios (Frontal Approach, Pedestrian Obstruction, Blind Corner, Following Human, Perpendicular Traffic, Circular Crossing, Object Handover), each recorded with two robot platforms (Toyota Human Support Robot and Clearpath Jackal) and, for six of the seven scenarios, in both a socially-compliant and a non-compliant navigation mode under matched initial conditions. Every scene is captured simultaneously by the robot’s own onboard sensors and by a stationary external Ground-truth Recording Station (GRS: a RoboSense RS-LiDAR-16 mounted above an Intel RealSense camera), which also provides the point cloud on which human trajectories were manually annotated.
This FiftyOne parse currently ships 7 of the source dataset’s 48 scenes,
Jackal only (Toyota HSR carries a head RGB-D sensor plus 2 stereo cameras
and is not yet imported; the merge pipeline already supports it, see
pipeline/merge_bags.py). Each sample is one scene, stored as a single
multi-topic .mcap file combining the robot’s onboard sensors, the GRS’s
sensors, and the manually-annotated pedestrian trajectories into one
synchronized timeline, viewable in FiftyOne’s multimodal 3D/Image/Plot
tiles.
Curated by: Johnata Brayan, Sihao Deng, Armando Alves Neto, Iaroslav Okunevich, Tomas Krajnik, Francois Bremond, Zhi Yan (CIAD UMR7533/UTBM; Universidade Federal de Minas Gerais; Université Marie et Louis Pasteur/UTBM/CNRS ICB UMR 6303; Czech Technical University in Prague; Inria; ENSTA/Institut Polytechnique de Paris)
Funded by: French National Research Agency (ANR), grant ANR-23-CE10-0016; Toyota Partner Robot joint research project; Roboprox (Czechia), CZ.02.01.01/00/22_008/0004590; Coordenação de Aperfeiçoamento de Pessoal de NĂvel Superior (CAPES, Brasil), Finance Code 001
Shared by: harpreetsahota (this FiftyOne parse); original dataset by Brayan et al.
Language(s): en
License: CC BY 4.0
Dataset Sources#
Repository: dat@UBFC portal (original data, DOI: 10.25666/DATAUBFC-2025-05-22); NavWareSet-Tutorials (official devkit)
Paper: Brayan et al., “NavWareSet: A Dataset of Socially Compliant and Non-Compliant Robot Navigation”, The International Journal of Robotics Research, 2026, DOI: 10.1177/02783649261447305; preprint: hal-05231729v2
Demo: https://anr-navware.github.io/navwareset/
Uses#
Direct Use#
Training and benchmarking social navigation algorithms; direct behavioral comparison between socially-compliant and non-compliant robot motion under matched initial conditions; pedestrian-response modeling and trajectory prediction conditioned on robot behavior; calibrating analytic human-motion/interaction models such as the Social Force Model against real robot-human recordings (the source paper demonstrates this with UAIbot); use as counterexamples (non-compliant trajectories) alongside compliant examples in imitation/avoidance-learning setups.
Out-of-Scope Use#
The source data was collected in a single controlled indoor lab environment and does not generalize to outdoor, cluttered, or multi-room settings. It contains teleoperated trajectories only — no autonomous navigation runs from learned policies are included, so it is not suited to evaluating real-time onboard planners end-to-end. This FiftyOne parse specifically ships Jackal scenes only; it should not be used to draw conclusions about the Toyota HSR platform’s behavior until HSR scenes are imported.
Dataset Structure#
Media type: multimodal — one FiftyOne sample per scene, each backed by
one .mcap file (Foxglove/ROS 2 MCAP, ros2msg/cdr message encoding for
raw sensor topics, Foxglove protobuf schemas for authored annotation
channels). 7 samples currently, spanning 2 of the source dataset’s 7
participant groupings (Group 1, Group 2, and Pair 1–5 for Object Handover):
Group 1 (scenes 15–18, 25) and Group 2 (scenes 46–47), and both behavior
values.
Per-sample fields:
Field |
FiftyOne type |
Description |
|---|---|---|
|
|
Path to the scene’s |
|
|
Source scene number (verbatim from source, e.g. |
|
|
One of the 7 canonical scenarios (verbatim from the project site’s scene table — not shipped machine-readable in the source data) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Episode duration in seconds (~250s / ~4 min per scene) |
|
|
Total MCAP message count (~78k per scene) |
|
|
Total MCAP channel/topic count (18 per scene) |
|
|
Every topic name present in the scene’s |
|
|
Every message schema name present in the scene’s |
Inside each .mcap, the 18 channels break down as:
Topic |
Schema |
Content |
|---|---|---|
|
|
GRS RoboSense RS-LiDAR-16 point cloud (stationary), ~10 Hz |
|
|
GRS overhead RGB video |
|
|
GRS camera intrinsics |
|
|
Authored GRS extrinsics chain ( |
|
|
Jackal onboard lidar, ~20 Hz |
|
|
Jackal onboard front camera |
|
|
Jackal camera intrinsics |
|
|
Jackal’s real recorded transform tree ( |
|
|
Authored Jackal camera optical-frame convention |
|
|
Jackal’s 2D AMCL localization estimate |
|
|
Jackal velocity commands |
|
|
Jackal’s onboard occupancy grid |
|
|
Per-scene calibration linking the robot’s localization frame to the GRS frame |
|
|
Per-frame pedestrian 3D cuboids, persistent per-person track ID |
|
|
Robot 2D pose marker (arrow primitive), GRS-frame-native |
|
|
Static, full-episode robot + participant trajectory polylines |
|
|
Static floor-plan point set |
|
JSON |
Per-frame flat |
Label types and why:
Pedestrian 3D cuboids map to
foxglove.SceneUpdateentities rather than a per-samplefo.Detectionsfield, because they are a time-synced channel meant to play back alongside the lidar/camera channels in FiftyOne’s multimodal 3D tile.SceneUpdateentities carry a persistent entity ID across frames, which is exactly what the source annotation format’s per-person UUID (objects[].keyin the Supervisely export) already provides — no separate tracking field needed.The robot’s pose is logged as an arrow primitive inside a
SceneUpdatechannel (/annotations/robot_pose) rather than a keypoint field, mirroring the official devkit’s own visualization convention.Trajectories are logged once per episode as static polyline entities (matching the source paper’s Figure 4, “trajectories extracted from the robot and participants over the environment map”) rather than growing per-frame, since a
SceneUpdateentity persists across playback until replaced.The static floor plan is a raw point set (
foxglove.PointCloud), not afo.Segmentationmask, since that is the format the source occupancy-map export ships in.
No dataset-level info dict is populated by the ingest pipeline. Sensor
extrinsics (GRS mount height/orientation, Jackal’s camera optical-frame
convention, the per-scene GRS↔robot calibration) are instead authored as
static TF channels inside each episode’s own .mcap
(/grs/tf_static, /robot/tf_static, /connector/tf_static) rather than
as dataset-level metadata, so they travel with each sample individually.
Parsing decisions of note (see pipeline/merge_bags.py’s module
docstring for the full, per-decision verification):
The robot bag reuses the GRS’s own topic names and
frame_idstrings for its own sensors — every topic is prefixed/grsor/robot, and the two collidingframe_ids are renamed rather than left to collide.Neither raw bag records the GRS’s or the robot camera’s static extrinsics; these are authored from real numbers (the devkit’s own launch file, and the universal ROS optical-frame axis convention), not fabricated.
The GRS’s
map→rslidarpitch is authored as flat (0°), not the 15° downward tilt the source paper/devkit launch file specify — verified empirically against the raw point cloud, which is already gravity-level in its own frame; applying the stated 15° would slope a real flat floor by ~2 m across the room.rgb8/bgr8camera images are transcoded to JPEG-backedCompressedImage(quality 90); depth and other non-8-bit-3-channel encodings are left raw.PointCloud2messages are repacked to drop undeclared per-point padding present in the raw sensor driver output (verified bit-identical x/y/z/ intensity values through a full serialize/deserialize roundtrip before applying).The robot’s own recorded
/tfcarries real but non-physical roll/pitch/z noise on theodom→base_linkandmap→odomtransforms (verified against the same bag’s/robot/amcl_pose, which is exactlyroll=pitch=z=0.0on every message) — these two transforms are flattened to yaw-only rotation withz=0on ingest; x/y translation and yaw are left untouched as real, meaningful odometry.
Dataset Creation#
Curation Rationale#
The source paper’s stated goal is to fill a gap left by existing social navigation datasets (e.g. SCAND, THÖR), which lack a systematic exploration of well-defined social navigation scenarios and robot behaviors under controlled conditions. NavWareSet is designed around seven canonical, literature-grounded interaction scenarios, each recorded with matched socially-compliant and non-compliant robot behavior under comparable initial conditions, so that differences in robot–human interaction can be directly attributed to the presence or absence of social awareness in the robot’s motion, rather than confounded by environment or task differences.
Source Data#
Data Collection and Processing#
For each scene, two ROS bag files were recorded simultaneously: one from the robot’s onboard sensors (lidar, RGB-D/stereo or single color camera, odometry, velocity commands, TF), and one from the external GRS station (3D lidar point clouds and overhead RGB video). Human trajectories were manually annotated frame-by-frame on the GRS’s point clouds using the CVAT annotation tool, exported in Supervisely JSON format, and later converted to CSV for downstream tooling. Static occupancy maps were exported as 2D point sets. All files follow a standardized per-scene naming convention encoding scenario, robot, social-compliance condition, and participant group.
This FiftyOne parse re-processes the two raw ROS bags per scene into a
single synchronized .mcap and layers the annotation products on top — see
“Parsing decisions of note” above for the specific fixes this required.
Who are the source data producers?#
Two mobile robot platforms — Toyota Human Support Robot (HSR) and Clearpath Jackal — each teleoperated to replicate both socially-aware and unaware navigation behavior. Seventeen adult volunteer participants, organized into two main groups of five plus five additional pairs for the Object Handover scenario, acted as pedestrians/interaction partners.
Annotations#
Annotation process#
Human (pedestrian) 3D positions were manually annotated frame-by-frame on
the GRS’s point clouds using the CVAT annotation tool, exported in
Supervisely format (single Person class, 3D cuboid geometry, one
persistent object key per tracked individual). This FiftyOne parse carries
those cuboids through as a foxglove.SceneUpdate channel keyed by that same
persistent per-person ID (see “Label types and why” above).
Who are the annotators?#
[More Information Needed]
Personal and Sensitive Information#
All 17 volunteer participants were informed about the nature of the study and signed an informed consent form before the experiments; no subjective personal feedback (e.g. discomfort/frustration questionnaires) was collected. The dataset does contain personally identifiable information in the form of RGB video of participants (both the GRS’s overhead camera and the robot’s onboard camera) and their 3D trajectories/positions throughout each scene.
Citation#
BibTeX:
@article{brayan2026navwareset,
title={NavWareSet: A Dataset of Socially Compliant and Non-Compliant Robot Navigation},
author={Brayan, Johnata and Deng, Sihao and Alves Neto, Armando and Okunevich, Iaroslav and Krajnik, Tomas and Bremond, Francois and Yan, Zhi},
journal={The International Journal of Robotics Research},
year={2026},
doi={10.1177/02783649261447305},
note={HAL Id: hal-05231729v2, https://hal.science/hal-05231729v2}
}
APA:
Brayan, J., Deng, S., Alves Neto, A., Okunevich, I., Krajnik, T., Bremond, F., & Yan, Z. (2026). NavWareSet: A dataset of socially compliant and non-compliant robot navigation. The International Journal of Robotics Research. https://doi.org/10.1177/02783649261447305
More Information#
This FiftyOne parse currently ships 7 of the source dataset’s 48 scenes,
Jackal platform only (scene 01, an HSR scene, was downloaded only to
validate the merge pipeline and was never authored into this dataset). 14
more Jackal scenes exist in the source data and are not yet imported: 19,
20, 21, 22, 23, 26 (Group 1) and 41, 42, 43, 44, 45, 49, 51, 52 (Group 2).
Toyota HSR scenes and the 5 Object Handover scenes (no pedestrian
annotations) are also not yet imported. The merge/authoring pipeline
supports all of these without code changes — see pipeline/scene_metadata.py
for the full scene → scenario/robot/behavior/group table and
AGENT_BOARDING.md for the import pipeline’s decision log.
Official devkit and tutorials: https://github.com/anr-navware/NavWareSet-Tutorials
For the original dataset: Zhi Yan (zhi.yan@ensta.fr)
Dataset Card Authors#
harpreetsahota (this FiftyOne parse)
Dataset Card Contact#
For the original dataset: Zhi Yan (zhi.yan@ensta.fr)