Repository Layout
This page shows the folders of the repository and the content of each folder.
Top Level
| Folder |
Content |
Acres/ |
The Unreal project: the game module, the configuration, the shaders and the assets. |
Core/ |
ACRES Core: the simulator without Unreal, its Python module, tests, tools and scripts. |
ROS/ |
The ROS 2 Humble workspace: the messages, the ROS 2 bridge, the Core server and the Polaris description. |
Learning/ |
The learning stack acres_learn. Refer to Learning. |
Verification/ |
The formal proofs in Lean 4 and their differential tests. Refer to Verification. |
Calibration/ |
The studies that compare the simulator with real data: the map, the Polaris, the tractor and the weather. |
Tools/ |
The model tests without Unreal, the control tools, the benchmarks and the map and asset pipelines. |
Demo/ |
Example sessions as scripts. |
Documentation/ |
The source of this site. |
mkdocs.yml |
The configuration of this site. |
README.md, LICENSE |
The summary of the project and the Apache License 2.0. |
The file .gitignore permits only these paths. Build outputs, packaged games and local environments stay local.
The Unreal Project
| Path |
Content |
Acres/Acres.uproject |
The project file. |
Acres/Config/ |
DefaultEngine.ini, DefaultGame.ini, DefaultGameUserSettings.ini, DefaultInput.ini. |
Acres/Source/Acres/ |
The C++ game module. Architecture describes its file groups. |
Acres/Shaders/ |
The shaders of the GPU LiDAR and the ground layer. |
Acres/Content/Maps/V03ACRE |
The farm map. |
Acres/Content/ACRE/ |
The farm assets: terrain, crops, structures, materials, weather, traffic. |
Acres/Content/FarmEquipment/ |
The skeletal meshes of the Maxxum, the implements and the Polaris. |
Acres/Content/Simulation/ |
The configuration files and the survey grids that the simulation reads at run time. |
Acres/Content/Simulation/ACRE/ |
The map products: heights, soils, fields, surfaces, places. |
Acres/Content/Simulation/ACRE/Scouting/ |
The map products of the scouting task. |
Acres/Content/Simulation/implements/ |
One JSON file for each implement. |
Acres/Content/Simulation/rigs/ |
The equipment rig maps. |
Acres/Raw/farm-equipment/ |
The source models and the mechanics data of the farm equipment. |
Configuration Files and Map Products give the formats.
ACRES Core
| Path |
Content |
Core/CMakeLists.txt, Core/build.sh |
The build of the library, the Python module, the tests and the tools. |
Core/Source/ |
The world, the terrain, the scene, the Polaris environment, the LiDAR, the farm state, the batch and the episode log. |
Core/Python/ |
The pybind11 module acres_core. |
Core/Tests/ |
The C++ tests and the Python tests. |
Core/Tools/ |
The command-line tools core_replay and lidar_compare. |
Core/Scripts/ |
The benchmark, the scene builder and the comparison tools. |
Core/Data/acre_scene.json |
The static scene of the Core: buildings, trees and other obstacles. |
The ROS 2 Workspace
| Path |
Content |
ROS/Env/ |
The conda environment file and the scripts of the DDS loopback fence. |
ROS/acres_interfaces/ |
The messages and services of the simulator. |
ROS/acres_sim/ |
The ROS 2 bridge sim_bridge, the J1939 codec, the demonstration driver and the launch files. |
ROS/acres_core_sim/ |
The Core server core_sim: ACRES Core behind the sockets of the game. |
ROS/acres_description/ |
The Polaris description: URDF, meshes, RViz configuration and launch files. |
ROS/vendor/ |
Third-party message packages: ds_dbw_msgs and rslidar_msg. |
ROS/Tools/ |
The checks of the message definitions and the topic parity, and the benchmarks. |
| Path |
Content |
Tools/Terramechanics/ |
The tests and the bench of the Maxxum model and the tyre and soil model. |
Tools/ImplementModel/ |
The tests of the implement model. |
Tools/PolarisModel/ |
The tests of the Polaris model, the replay tool and the recorded drive-by-wire extracts. |
Tools/LidarModel/ |
The tests of the LiDAR radiometry. |
Tools/EpisodeLog/ |
The tests of the episode log and the schema generator. |
Tools/SimControl/ |
The Python client of the simulator control channel and the determinism and render checks. |
Tools/Performance/ |
The frame-rate benchmarks. |
Tools/ACRE/Map/ |
The map pipeline: sources, lanes, fields, crops, buildings, surfaces, places. |
Tools/ACRE/Structures/, Props/, Vegetation/ |
The generators of buildings, props and trees. |
Tools/ACRE/Vehicles/ |
The import of the farm equipment and the export of the rig maps. |
Tools/ACRE/Tools/ |
The editor scripts that import assets and change the level. |
Tools/ui_text_check.py |
The check of the UI text style. |
Tools and Scripts describes each tool.
Calibration
| Path |
Content |
Calibration/Map/ |
The data sources of the map, the layers, the validation and the error budget. |
Calibration/Polaris/ |
The inventory of the real logs, the LiDAR and camera studies and the closed-loop tests. |
Calibration/Polaris/FieldDay/ |
The field-day kit. |
Calibration/Tractor/ |
The soil and weather study of the Maxxum. |
Calibration/Weather/ |
The ground conditions from the Purdue Mesonet record and the weather replay files. |
Demo
| Path |
Content |
Demo/gameplay.sh, Demo/record_all.sh, Demo/Menu/ |
A recorded session that the menu starts. |
Demo/multi_agent_demo.sh, Demo/Multi/ |
A session with the Maxxum and the Polaris. |
Demo/soil_weather.sh, Demo/SoilWeather/ |
The soil and weather study. |
Demo/lockstep_drive.py |
A lockstep drive through ROS 2 with an episode log. |
Documentation
| Path |
Content |
Documentation/<Section>/ |
The pages of each section of the navigation. |
Documentation/Assets/Diagrams/ |
The SVG diagrams. |
Documentation/Assets/Images/ |
The screenshots. |
Documentation/Stylesheets/, Documentation/JavaScripts/ |
The theme. |
Documentation/Tools/ |
The generator and the checks. |
Write Documentation gives the rules.
Folders outside the Repository
These folders are local. Git does not contain them.
| Path |
Content |
Packaged/ |
The packaged game. |
Acres/Saved/, Acres/Intermediate/, Acres/Binaries/ |
The outputs of the editor and the build. |
Core/Build/ |
The build of ACRES Core. |
ROS/build/, ROS/install/, ROS/log/ |
The build of the ROS 2 workspace. |
ROS/vendor/purdue_ranger/ |
The vehicle package of the lab. It is proprietary. |
site/ |
The built documentation. |