Skip to content

Adds multirotor/thruster actuator, multirotor asset and manager-based ARL drone task#3760

Merged
Mayankm96 merged 208 commits into
isaac-sim:mainfrom
ntnu-arl:feature/drone_multirotor_class
Jan 15, 2026
Merged

Adds multirotor/thruster actuator, multirotor asset and manager-based ARL drone task#3760
Mayankm96 merged 208 commits into
isaac-sim:mainfrom
ntnu-arl:feature/drone_multirotor_class

Conversation

@grzemal

@grzemal grzemal commented Oct 18, 2025

Copy link
Copy Markdown
Contributor

Description

This PR introduces multirotor and thruster support and adds a manager-based example/task for the ARL drone. The change contains a new low-level thruster actuator model, a new Multirotor articulation asset class + configs, new thrust actions, and a manager-based drone task (ARL drone) with MDP configs and RL agent configs.

Motivation and context

  • Provides a reusable multirotor abstraction and a parameterized thruster actuator model so we can simulate multirotor vehicles (quad/hex/other).
  • Adds a manager-based ARL drone task and configuration files to enable repro and training workflows for the ARL drone platform.
  • Consolidates drone-specific code and prepares the repo for future control/sensor improvements.

Type of change

  • New feature (non-breaking addition of new functionality)
  • Documentation update (added docs/comments where applicable)

Files changed (high-level summary)

  • New/major files added:
    • source/isaaclab/isaaclab/actuators/thruster.py (new thruster actuator model)
    • source/isaaclab/isaaclab/assets/articulation/multirotor.py (new multirotor articulation)
    • source/isaaclab/isaaclab/assets/articulation/multirotor_cfg.py
    • source/isaaclab/isaaclab/assets/articulation/multirotor_data.py
    • source/isaaclab/isaaclab/envs/mdp/actions/thrust_actions.py
    • source/isaaclab_assets/isaaclab_assets/robots/arl_robot_1.py and ARL drone URDF + asset files as a submodule
    • source/isaaclab_tasks/isaaclab_tasks/manager_based/drone_ntnu/* (new task code, commands, observations, rewards, state-based control configs and agent configs)
  • Modified:
    • source/isaaclab/isaaclab/actuators/actuator_cfg.py (register thruster config)
    • source/isaaclab/isaaclab/envs/mdp/actions/actions_cfg.py (register thrust actions)
    • small edits to various utils and types, and docs/make.bat
  • Total diff (branch vs main when I checked): 33 files changed, ~2225 insertions, 65 deletions

Dependencies

  • No new external top-level dependencies introduced. The branch adds assets (binary .zip) — ensure Git LFS is used if you want large assets tracked by LFS.
  • The new drone task references standard repo-internal packages and Isaac Sim; no external pip packages required beyond the repo standard.

Checklist (status)

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the changelog and the corresponding version in the extension's config/extension.toml file
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

Comment thread source/isaaclab_contrib/config/extension.toml Outdated
Comment thread source/isaaclab_contrib/isaaclab_contrib/assets/__init__.py Outdated
@grzemal grzemal requested a review from hhansen-bdai as a code owner January 13, 2026 16:46
Comment thread source/isaaclab_contrib/isaaclab_contrib/actuators/thruster_cfg.py Outdated
Comment thread source/isaaclab_contrib/isaaclab_contrib/actuators/thruster_cfg.py Outdated
grzemal and others added 7 commits January 13, 2026 17:58
Co-authored-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Signed-off-by: Grzegorz Malczyk <44407007+grzemal@users.noreply.github.com>
…g.py

Co-authored-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Signed-off-by: Grzegorz Malczyk <44407007+grzemal@users.noreply.github.com>
…g.py

Co-authored-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Signed-off-by: Grzegorz Malczyk <44407007+grzemal@users.noreply.github.com>
Co-authored-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Signed-off-by: Grzegorz Malczyk <44407007+grzemal@users.noreply.github.com>
Comment thread source/isaaclab_contrib/test/assets/test_multirotor.py Outdated
@Mayankm96

Copy link
Copy Markdown
Contributor

Waiting for the checks to pass. Then we can merge in.

@Mayankm96

Copy link
Copy Markdown
Contributor

@grzemal I think the recent ruff-related changes caused merge conflicts again. Could you please take a look?

@grzemal

grzemal commented Jan 14, 2026

Copy link
Copy Markdown
Contributor Author

@Mayankm96 conflicts resolved

@kellyguo11 kellyguo11 changed the title Add multirotor/thruster actuator, multirotor asset and manager-based ARL drone task Adds multirotor/thruster actuator, multirotor asset and manager-based ARL drone task Jan 14, 2026
@Mayankm96 Mayankm96 merged commit c446062 into isaac-sim:main Jan 15, 2026
7 checks passed
@github-project-automation github-project-automation Bot moved this from In progress to Done in Isaac Lab Jan 15, 2026
nitesh-subedi pushed a commit to nitesh-subedi/IsaacLab that referenced this pull request Feb 5, 2026
… ARL drone task (isaac-sim#3760)

## Description

This PR introduces multirotor and thruster support and adds a
manager-based example/task for the ARL drone. The change contains a new
low-level thruster actuator model, a new `Multirotor` articulation asset
class + configs, new thrust actions, and a manager-based drone task (ARL
drone) with MDP configs and RL agent configs.

### Motivation and context
- Provides a reusable multirotor abstraction and a parameterized
thruster actuator model so we can simulate multirotor vehicles
(quad/hex/other).
- Adds a manager-based ARL drone task and configuration files to enable
repro and training workflows for the ARL drone platform.
- Consolidates drone-specific code and prepares the repo for future
control/sensor improvements.

## Type of change
- New feature (non-breaking addition of new functionality)
- Documentation update (added docs/comments where applicable)

### Files changed (high-level summary)
- New/major files added:
- source/isaaclab/isaaclab/actuators/thruster.py (new thruster actuator
model)
- source/isaaclab/isaaclab/assets/articulation/multirotor.py (new
multirotor articulation)
  - source/isaaclab/isaaclab/assets/articulation/multirotor_cfg.py
  - source/isaaclab/isaaclab/assets/articulation/multirotor_data.py
  - source/isaaclab/isaaclab/envs/mdp/actions/thrust_actions.py
- source/isaaclab_assets/isaaclab_assets/robots/arl_robot_1.py and ARL
drone URDF + asset files as a submodule
- source/isaaclab_tasks/isaaclab_tasks/manager_based/drone_ntnu/* (new
task code, commands, observations, rewards, state-based control configs
and agent configs)
- Modified:
- source/isaaclab/isaaclab/actuators/actuator_cfg.py (register thruster
config)
- source/isaaclab/isaaclab/envs/mdp/actions/actions_cfg.py (register
thrust actions)
  - small edits to various utils and types, and docs/make.bat
- Total diff (branch vs main when I checked): 33 files changed, ~2225
insertions, 65 deletions

### Dependencies
- No new external top-level dependencies introduced. The branch adds
assets (binary `.zip`) — ensure Git LFS is used if you want large assets
tracked by LFS.
- The new drone task references standard repo-internal packages and
Isaac Sim; no external pip packages required beyond the repo standard.

Checklist (status)
- [x] I have read and understood the contribution guidelines
- [x] I have run the `pre-commit` checks with `./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [x] I have added tests that prove my fix is effective or that my
feature works
- [ ] 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

---------

Signed-off-by: Mihir Kulkarni <mihirk284@gmail.com>
Signed-off-by: Grzegorz Malczyk <44407007+grzemal@users.noreply.github.com>
Signed-off-by: Welf Rehberg <65718465+Zwoelf12@users.noreply.github.com>
Co-authored-by: Octi Zhang <zhengyuz@nvidia.com>
Co-authored-by: Zwoelf12 <rehberg.welf@gmail.com>
Co-authored-by: Mihir Kulkarni <mihirk284@gmail.com>
Co-authored-by: Etor <etorarza@gmail.com>
Co-authored-by: Pascal Roth <57946385+pascal-roth@users.noreply.github.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: Pascal Roth <roth.pascal@outlook.de>
Co-authored-by: Welf Rehberg <65718465+Zwoelf12@users.noreply.github.com>
Co-authored-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
kellyguo11 pushed a commit that referenced this pull request May 8, 2026
…ty and position controllers (#3895)

## Description

This PR extends [3760](#3760)
by introducing a navigation tasks for the ARL robot. The PR adds a
confined cluttered environment, adds acceleration, velocity and position
controllers + configs, extends the MDP and RL configs and adds a
Variational Auto Encoder to generate image latents for observations. The
PR depends on the `MultiMeshRayCasterCamera` introduced in PR
[3298](#3298) (currently not
merged in IsaacLab).

## Changes
### Type of Change

- New feature (non-breaking change which adds functionality)
- Documentation update (added docs/comments where applicable)

### Files changed (high-level summary)

- New files added:
-
source/isaaclab_tasks/isaaclab_tasks/manager_based/drone_arl/navigation/*
(new task code and config, obstacle scene code and config)
-
source/isaaclab_tasks/isaaclab_tasks/manager_based/drone_arl/mdp/vae_model.pt
- source/isaaclab/isaaclab/controllers/lee_acceleration_control_cfg.py
   - source/isaaclab/isaaclab/controllers/lee_acceleration_control.py
   - source/isaaclab/isaaclab/controllers/lee_velocity_control_cfg.py
   - source/isaaclab/isaaclab/controllers/lee_velocity_control.py
   - source/isaaclab/isaaclab/controllers/lee_position_control_cfg.py
   - ource/isaaclab/isaaclab/controllers/lee_position_control.py
- Modified:
- source/isaaclab_tasks/isaaclab_tasks/manager_based/drone_arl/mdp/*
(added navigation specifics)
- source/isaaclab/isaaclab/envs/mdp/actions/actions_cfg.py (added new
action config)
- source/isaaclab/isaaclab/envs/mdp/actions/thrust_actions.py
(introduced new navigation action handling controller application)
- Total diff (branch vs main, includes also unmerged changes of PR
[3760](#3760) and PR
[3298](#3298)): 74 files
changed, 8029 insertions, 88 deletions
 
## Dependencies

- The new drone task references standard repo-internal packages and
Isaac Sim; no external pip packages required beyond the repo standard.


## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] 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

---------

Signed-off-by: Grzegorz Malczyk <44407007+grzemal@users.noreply.github.com>
Signed-off-by: renezurbruegg <zrene@ethz.ch>
Signed-off-by: Welf Rehberg <65718465+Zwoelf12@users.noreply.github.com>
Co-authored-by: grzemal <grzegorz.malczyk@ntnu.no>
Co-authored-by: Grzegorz Malczyk <44407007+grzemal@users.noreply.github.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: René zurbrügg <zrene@ethz.ch>
Co-authored-by: Pascal Roth <roth.pascal@outlook.de>
Co-authored-by: Pascal Roth <57946385+pascal-roth@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

asset New asset feature or request documentation Improvements or additions to documentation enhancement New feature or request infrastructure

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

9 participants