You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Generalizes ViewpointSampling to all kind of sensor data (#6)
# Description
**Added**
- Enhanced Sensor Data Sampling: Added sampling support to other sensor
data (such as RayCasters) to nav_suite.collectors.SensorDataSampling for
sampling sensor data from the environment
- RayCaster Implementation: Added
nav_suite.collectors.sensors.RayCasterSensor for RayCaster functionality
**Changed**
- Class Renaming: Renamed nav_suite.collectors.ViewpointSampling to
nav_suite.collectors.SensorSampling and
nav_suite.collectors.ViewpointSamplingCfg to
nav_suite.collectors.SensorSamplingCfg
- Modular Sensor Architecture: Sensor data extraction is now done in
individual classes for each sensor type. The logic for camera data
previously included in nav_suite.collectors.ViewpointSampling is now
extracted in nav_suite.collectors.sensors.CameraSensor
## Type of change
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing
functionality to not work as expected)
## Checklist
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./formatter.sh`
- [ ] I have made corresponding changes to the documentation (will come
shortly)
- [x] My changes generate no new warnings
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
Copy file name to clipboardExpand all lines: README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,7 +44,7 @@ data-sampling approaches, typical RL terms and a benchmarking environment. Curre
44
44
This extension lets you load realistic terrains complete with rich semantic annotations, run fast traversability analysis, and render large batches of multi-modal data. It exposes three core modules:
45
45
46
46
-**Environment Importer** – load Matterport, Unreal/Carla, generated or USD terrains and expose all geometric / semantic domains → [Details](exts/nav_suite/docs/README.md#environment-importer)
47
-
-**Data Collectors** – sample trajectories, viewpoints and render multi-modal data from any imported world → [Details](exts/nav_suite/docs/README.md#data-collectors)
47
+
-**Data Collectors** – sample trajectoriesand render multi-modal sensor data from any imported world → [Details](exts/nav_suite/docs/README.md#data-collectors)
48
48
-**Terrain Analysis** – build traversability height-maps and graphs for path planning and curriculum tasks → [Details](exts/nav_suite/docs/README.md#traversabilty-analysis)
49
49
50
50
## `nav_tasks` Extension
@@ -177,7 +177,7 @@ Here we provide a set of examples that demonstrate how to use the different part
177
177
-[Import the Nvidia Warehouse Environment](scripts/nav_suite/terrains/warehouse_import.py)
178
178
-``collector``
179
179
-[Sample Trajectories from Matterport](scripts/nav_suite/collector/matterport_trajectory_sampling.py)
180
-
-[Sample Viewpoints and Render Images from Carla (Unreal Engine)](scripts/nav_suite/collector/carla_viewpoint_sampling.py)
180
+
-[Sample Camera Viewpoints and Render Images from Carla (Unreal Engine)](scripts/nav_suite/collector/carla_sensor_data_sampling.py)
Copy file name to clipboardExpand all lines: exts/nav_suite/docs/README.md
+5-19Lines changed: 5 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -92,35 +92,21 @@ This extensions allows to collect data from the previously loaded environments a
92
92
93
93
The trajectory sampling can be executed multiple times with different number of sampled trajectories as well as different minimum and maximum lengths.
94
94
95
-
- `Viewpoint sampling and image rendering`:
95
+
- `Sensor data sampling and rendering`:
96
96
97
-
For the viewpoint sampling the same terrain analysis as for the trajectory sampling is executed. The graph and traversability parameters are defined in corresponding [config file](../nav_suite/terrain_analysis/terrain_analysis_cfg.py).
97
+
For the sensor data sampling the same terrain analysis as for the trajectory sampling is executed. The graph and traversability parameters are defined in corresponding [config file](../nav_suite/terrain_analysis/terrain_analysis_cfg.py).
98
98
99
99
**Important** for the analysis also regarding the semantic domain, a semantic class to cost mapping has to be defined in the config. Per default, an example cost map for ``matterport`` environments is selected.
100
100
101
-
Each node of the prah is a possible viewpoint, with the orientation uniformly sampled between variable bounds. The exact parameters of the sampling can be defined [here](../nav_suite/collectors/viewpoint_sampling_cfg.py). You can define the ``module`` and the ``class`` of the parameters config that is used for the sampling. An example is provided that is optimized for the legged robot ANYmal and a matterport environment. Please not that this configuration assumes that two cameras are added where the first one has access to semantic information and the second to geoemtric information.
102
-
103
-
The number of viepoints that are sampled can be directory defined in the GUI. With the button ``Viewpoint Sampling`` the viewpoints are saved as ``camera_poses`` under the defined directory. Afterwards, click ``Viewpoint Renedering`` to get the final rendered images. The resulting folder structure is as follows:
104
-
105
-
``` graphql
106
-
cfg.data_dir
107
-
├── camera_poses.txt # format: x y z qw qx qy qz
108
-
├── cfg.depth_cam_name # required
109
-
| ├── intrinsics.txt # K-matrix (3x3)
110
-
| ├── distance_to_image_plane # annotator
111
-
| | ├── xxxx.png # images saved with 4 digits, e.g. 0000.png
112
-
├── cfg.depth_cam_name # optional
113
-
| ├── intrinsics.txt # K-matrix (3x3)
114
-
| ├── distance_to_image_plane # annotator
115
-
| | ├── xxxx.png # images saved with 4 digits, e.g. 0000.png
116
-
```
101
+
Each node of the graph is a possible data sampling point, with the orientation uniformly sampled between variable bounds. The exact parameters of the sampling can be defined [here](../nav_suite/collectors/sensor_data_sampling_cfg.py). How the individual sensor data is treated is defined in individual sensor modules, i.e., [Camera](../nav_suite/collectors/sensors/camera_cfg.py), [RayCaster](../nav_suite/collectors/sensors/raycaster_cfg.py).
102
+
An example is provided that is optimized for the legged robot ANYmal and a matterport environment. Please note that this configuration assumes that two cameras are added where the first one has access to semantic information and the second to geometric information.
117
103
118
104
### Standalone scripts
119
105
120
106
Standalone scripts are provided to demonstrate the loading of different environments:
121
107
122
108
- [Sample Trajectories from Matterport](../../../scripts/nav_suite/collector/matterport_trajectory_sampling.py)
123
-
- [Sample Viewpoints and Render Images from Carla (Unreal Engine)](../../../scripts/nav_suite/collector/carla_viewpoint_sampling.py)
109
+
- [Sample Camera Viewpoints and Render Images from Carla (Unreal Engine)](../../../scripts/nav_suite/collector/carla_sensor_data_sampling.py)
0 commit comments