Skip to content

ACRES#

ACRES is the Agricultural Control and Robotics Environment Simulator. It simulates a tractor and a utility vehicle with their sensors on a surveyed tile of the Purdue ACRE farm.

The Maxxum 150 with an implement in a field of the ACRE farm

What ACRES Is#

ACRES is a research simulator for agricultural robotics, built with Unreal Engine 5.8. The world is a measured tile of the Purdue Agronomy Center for Research and Education (ACRE) in Indiana. Two vehicles drive in this world. The first is the Case IH Maxxum 150 tractor with eight implements. The second is the Polaris Ranger of the Purdue lab with its Dataspeed drive-by-wire.

The soil deforms, the crops grow, rain runs off and soaks in, and the weather changes during the day. A set of simulated sensors writes data with one clock and with real-world coordinates.

ACRES has two simulators that share one set of models. The game is the full simulator with the renderer and all sensors. ACRES Core is the simulator without Unreal. It runs many environments in parallel for learning.

What ACRES Is For#

Use Description
Collect data Record camera images, LiDAR clouds, INS, GNSS, IMU and CAN data with ground truth.
Train Train a driving policy in ACRES Core at many times real time.
Simulate and evaluate Run your ROS 2 software or a policy in closed loop, in lockstep when you need determinism.
Export and deploy Run the same software on the real Polaris. The topics, types and frames agree.

System Overview#

ACRES system overview: the Unreal game and ACRES Core share the models, expose three local sockets, connect to ROS 2 through acres_sim and acres_core_sim, and support four data flows: collect data, train, simulate and evaluate, export and deploy. INPUTS SIMULATORS LOCAL SOCKETS, 127.0.0.1 ROS 2 HUMBLE Menu or command line session options ACRE map products terrain, soils, fields, places Configuration files vehicles, sensors, soils, weather Unreal game Acres, Unreal Engine 5.8, physics at 120 Hz Vehicles Maxxum 150 with 8 implements Polaris Ranger, drive-by-wire Sensors camera, LiDAR, INS and GNSS, wheel and CAN signals Terrain and soil tyre and soil forces, sinkage, slip, ruts, energy and fuel Farm crops, ground classes, soil water, field work Weather and clock sun, rain, wind, temperature Render tiers view: low or high sensors: a pinned profile Engine-free models C++ without Unreal types. ACRES Core compiles the same source files, so the two simulators use one set of equations. Session log CSV, JSONL, images, point clouds Episode log MCAP: agent states at 120 Hz ACRES Core no Unreal, many environments in parallel Polaris world drive-by-wire, terrain, soil, crops, obstacles Ray-cast sensors LiDAR, INS, wheel signals Python acres_core C++ libacres_core Vehicle bridge commands, reports, J1939 -RlPort= Simulator control channel lockstep, reset, record -SimControl= Sensor stream INS, LiDAR, camera, clock -SensorStream= acres_core_sim Core server Core behind the same sockets serves the same three sockets Inside the DDS loopback fence acres_sim ROS 2 bridge node sim_bridge Vehicle topics /vehicle/* /oxts/* /lidar/points /camera/* /tf /clock Simulator services simulation_interfaces step, reset acres_interfaces conditions, record, farm state ROS 2 bag MCAP, record, play Your software follower, policy node The topics, types and frames agree with the real Polaris Ranger. DATA FLOWS 1 Collect data 2 Train 3 Simulate and evaluate 4 Export and deploy Interface Calibration Real logs give the parameters of the models. Polaris: steering, pedals, brakes, drive-by-wire, LiDAR, camera mount. Weather and soil water: Purdue Mesonet record. Calibration/ Learning acres_learn Environments tasks over Core Training and evaluation Policy bundle exported driver The sections Tasks and Learning describe the tasks, the training and the deployment program. Real Polaris Ranger Dataspeed drive-by-wire, ROS 2 Humble. Field-day kit and deployment program: SIM, SHADOW and DRIVE modes. The lab operates the vehicle. ACRES only reads its logs. 1 1 2 batched steps: observations and commands 3 3 replay 4 the same software runs on the vehicle recorded logs, read only 4 fitted parameters
The components of ACRES and the four data flows: collect data, train, simulate and evaluate, export and deploy. Open the diagram

The numbers in the diagram show the four data flows.

  1. Collect data. The game writes a session log and sensor episodes. The game and ACRES Core write an episode log. ROS 2 tools record a bag.
  2. Train. A learner steps a batch of ACRES Core environments. It sends drive-by-wire commands and receives observations.
  3. Simulate and evaluate. Software on ROS 2 drives the vehicle through the ROS 2 bridge. The game replays an episode log to make images.
  4. Export and deploy. The lab runs the same software on the real Polaris. The recorded logs of the vehicle give the parameters of the models.

Components describes each box of the diagram.

Where to Start#

Get Started

Install the tools, build the game, ACRES Core and the ROS 2 workspace, and drive.

Tutorials

Drive each vehicle, operate the implements, set soil and weather, and collect data.

Models

The full mathematics of the vehicles, the soil, the implements, the farm and the sensors.

API Reference

Command-line options, sockets, ROS 2 interfaces, the Core API and the file formats.

Design

The architecture, the design choices with their reasons, the limitations and the roadmap.

Tasks

The benchmark tasks. The first task is field scouting with the Polaris.

Learning

The learning framework, the training, the deployment and the verification.

Development

The repository layout, the conventions, the tests and how to extend ACRES.

Status#

ACRES is a research prototype.

Item Status
Polaris Ranger The logs of the real vehicle give the parameters of its dynamics, drive-by-wire, LiDAR and camera.
Weather and soil water The Purdue Mesonet record of ACRE sets the conditions of a given day.
Maxxum 150 and implements The values come from publications and datasheets. No measurement at ACRE exists.
Platforms The repository packages and tests the game on Linux. Windows has one recorded build and drive test.

Limitations gives the full list. Platforms and GPU Tiers gives the requirements.