A modular simulation suite and benchmark for aerial manipulation policy learning.
[Project page] [Documentation] [Paper]
Standardized benchmarks have driven robot manipulation learning, but they overwhelmingly assume a fixed, ground-supported base. Aerial manipulation breaks that assumption: the arm moves the base it is mounted on, thrust is limited, and aerodynamics couple the two. AM-Bench is an Isaac Lab suite for studying how embodiment, control, disturbances, and policy choice interact in that regime.
- Embodiments spanning actuation regimes — underactuated (
UAQuad,UAHexa), fully actuated (FAHexa), and overactuated (OmniHexa), plus anEEfloating end-effector oracle for isolating task logic from flight dynamics. - 12 tasks across three interaction classes — instantaneous contact, object transport, and articulated or constrained contact.
- Standard low-level controllers — 4-DoF and 6-DoF PID, L1 adaptive, and whole-body MPC, with Pyroki inverse kinematics.
- Configurable disturbances — aerodynamic drag, ground effect, near-wall effect, and rotor actuator saturation, all switchable per environment.
- Policy-learning baselines — ACT, Diffusion Policy, and OpenPI (π₀ / π₀.₅), sharing one canonical LeRobot dataset format, plus scripted experts for every task.
- One action interface — absolute end-effector pose, or absolute base pose and arm joints when a policy should command the whole body directly.
A native Linux host (Ubuntu 22.04 or 24.04), a discrete NVIDIA GPU, and Isaac Sim 5.1 with Python 3.11 are required. WSL and Docker are not maintained paths.
Once Isaac Sim and Isaac Lab are installed:
git clone https://github.com/ambench/ambench.git
cd ambench
source ../IsaacLab/env_isaaclab/bin/activate
./scripts/setup/install.sh
export JAX_PLATFORMS=cpu
export ACADOS_SOURCE_DIR="$(pwd)/ext/acados"
export LD_LIBRARY_PATH="$ACADOS_SOURCE_DIR/lib:$ACADOS_SOURCE_DIR/build:$LD_LIBRARY_PATH"
python scripts/environments/list_envs.pyThe standard installer initializes Pyroki and acados, builds the acados libraries,
installs their Python interfaces, and installs the two AM-Bench packages from
source/. Add the three exports to ~/.bashrc, using the absolute path to your
AM-Bench checkout for ACADOS_SOURCE_DIR, so new terminals use the maintained
JAX and acados configuration.
See Installation for the full procedure, then Verify Installation.
Step an environment with zero actions to confirm the scene loads:
python scripts/environments/zero_agent.py \
--task PressButton-Am-EE-Abs-PID-Direct-v0 \
--num_envs 1 --headless --device cuda:0Record demonstrations from the scripted expert:
python scripts/data/record_demos_scripted.py \
--task PressButton-Am-FAHexa-Abs-PID-Direct-v0 \
--dataset_root <dataset-root> \
--state_keys ee_pos ee_quat gripper_width \
--task_prompt "press the button" \
--num_demos 10ambench.github.io/docs covers installation, the
environment registry, configuration, demonstration collection, policy evaluation, and
extension guides. The source lives in the ambench.github.io repository under docs/; send documentation changes there.
Contributing: start from Extend an Existing Environment
for the task, robot, controller, and policy guides, and
Development Setup for editor
configuration, formatting, building the docs, and simulator performance tuning.
AGENTS.md and CODING_STYLE.md describe the repository conventions.
If you use AM-Bench in your research, please cite:
@article{wang2026ambench,
title = {{AM-Bench}: A Modular Simulation Suite and Benchmark for Aerial Manipulation Policy Learning},
author = {Wang, Yutong and Lee, Dongjae and Guo, Xiaofeng and Zhan, Yuanzhu and
Jiang, Yufei and Saravanan, Bavin and Cao, Muqing and Xie, Jia and
Mao, Chenyang and Scherer, Sebastian and Geng, Junyi and Shi, Guanya},
year = {2026},
journal = {arXiv preprint arXiv:2609.00641},
eprint = {2609.00641},
archivePrefix = {arXiv},
primaryClass = {cs.RO},
url = {https://arxiv.org/abs/2609.00641}
}Machine-readable metadata is in CITATION.cff.
AM-Bench is released under the Apache License 2.0.
This repository redistributes third-party components under their own licenses, including
the Universal Manipulation Interface / Diffusion Policy source tree (MIT, Columbia
Artificial Intelligence and Robotics Lab) and several files derived from Isaac Lab
(BSD-3-Clause). See THIRD_PARTY_NOTICES.md for the complete
list.
