技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
data-and-maps【数据与研究】Use for nuPlan dataset roots and layout, SQLite/ORM queries, sensor blobs, map layers and objects, or scenario builder and scenario filter selection.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this sub-skill when the task is about the local nuPlan dataset contract rather
than model training, simulation metrics, or submission presentation. It covers
DB discovery, schema-aware read queries, camera/lidar blob lookup, map API
objects/layers, and NuPlanScenarioBuilder selection.
NUPLAN_DATA_ROOT for DBs and sensor data, NUPLAN_MAPS_ROOT for maps, and
NUPLAN_EXP_ROOT only for experiment/cache output. Do not use the experiment
root as a dataset root.nuplan-v1.1/splits/mini, trainval, or the
challenge test path) and confirm that it contains .db files.python scripts/validate_nuplan_data_root.py --data-root "$NUPLAN_DATA_ROOT" --maps-root "$NUPLAN_MAPS_ROOT".
Add --split mini, --db-limit N, or --json when a bounded report is
preferable. A non-zero exit is actionable evidence, not a reason to fetch
data automatically.get_db_description, get_db_duration_in_us,
get_db_log_duration, get_db_log_vehicles, and get_db_scenario_info.
For custom reads use execute_one or execute_many with bound values; never
interpolate user values into SQL.NuPlanMapFactory, get_maps_api, NuPlanMap, or the compatibility
NuPlanMapWrapper described in maps and scenarios.NuPlanScenarioBuilder, create a complete ScenarioFilter, call
get_scenarios, and inspect the count/type/map before expanding downstream
processing.The documented local roots are:
| Variable | Meaning | Typical derived paths |
|---|---|---|
NUPLAN_DATA_ROOT | Read-mostly dataset root | nuplan-v1.1/splits/<split>, nuplan-v1.1/sensor_blobs |
NUPLAN_MAPS_ROOT | Map package root | <map_version>.json, <location>/<local-version>/map.gpkg |
NUPLAN_EXP_ROOT | Writable experiment/cache root | exp, cache |
The standard map version is nuplan-maps-v1.0. Its metadata names four map
locations: sg-one-north, us-ma-boston, us-nv-las-vegas-strip, and
us-pa-pittsburgh-hazelwood. The location version below each location is not
necessarily the map package version; read it from the metadata JSON.
A DB stores metadata, annotations, and relative blob keys; it does not embed
JPEG images or point clouds. The sensor root must therefore resolve the
image.filename_jpg and lidar_pc.filename keys. Camera channels normally
include CAM_F0, CAM_B0, CAM_L0, CAM_L1, CAM_L2, CAM_R0, CAM_R1,
and CAM_R2; merged lidar uses MergedPointCloud.
Read dataset layout for path resolution and split/version checks, and database and schema for tables, joins, tokens, and query helpers.
nuplan.database.nuplan_db.query_session.execute_many for streaming
SQLite rows and execute_one for a query that must return at most one row.nuplan.database.nuplan_db.db_cli_queries for DB description, duration,
per-log duration/vehicle, and scenario-type counts. Those helpers are
read-only and accept a DB filename.NuPlanDB and its typed table properties (log, camera, lidar,
ego_pose, image, lidar_pc, lidar_box, track, scene,
scenario_tag, and traffic_light_status) for ORM-style access.get_lidarpc_sensor_data() or get_camera_channel_sensor_data(channel)
to define sensor queries. Sensor tokens are hex strings at the Python API
boundary but are stored as SQLite BLOB values.SemanticMapLayer enum without checking
the mapping.ScenarioFilter requires all of these positional fields:
scenario_types, scenario_tokens, log_names, map_names,
num_scenarios_per_type, limit_total_scenarios, timestamp_threshold_s,
ego_displacement_minimum_m, expand_scenarios, remove_invalid_goals, and
shuffle. Optional fields are ego_start_speed_threshold,
ego_stop_speed_threshold, speed_noise_tolerance, token_set_path,
fraction_in_token_set_threshold, and ego_route_radius.
num_scenarios_per_type is a positive integer. limit_total_scenarios is a
positive integer count or a float in (0, 1] (the implementation's float
sampling path requires a value strictly below 1 when filtering). Filters are
applied in builder order: per-type count, total count, timestamp spacing,
non-stationary ego, start/stop speed, token-set fraction, and route presence.
scenario_types, map_names, log_names, and tokens are applied while reading
DB rows. remove_invalid_goals and include_cameras can remove rows before
later filters. A zero result usually means a split, map name, log name, goal,
route, or filter combination is wrong—not that the database is empty.
simulation-and-evaluation; route feature construction and training cache
questions to training-and-preprocessing; route command formatting to
submission-and-cli.log.map_version (a location/map name
in scenario queries) and the requested package map version
(nuplan-maps-v1.0).For detailed joins, map conventions, scenario examples, and failure recovery, read the linked references before answering a complex request.