Adds multirotor/thruster actuator, multirotor asset and manager-based ARL drone task#3760
Merged
Mayankm96 merged 208 commits intoJan 15, 2026
Merged
Conversation
… thrusters, new thruster actor class
…sation not visible
Mayankm96
reviewed
Jan 13, 2026
Mayankm96
reviewed
Jan 13, 2026
…IsaacLab into feature/drone_multirotor_class
Mayankm96
reviewed
Jan 13, 2026
Mayankm96
reviewed
Jan 13, 2026
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>
Mayankm96
reviewed
Jan 14, 2026
Contributor
|
Waiting for the checks to pass. Then we can merge in. |
Contributor
|
@grzemal I think the recent ruff-related changes caused merge conflicts again. Could you please take a look? |
Contributor
Author
|
@Mayankm96 conflicts resolved |
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
Multirotorarticulation asset class + configs, new thrust actions, and a manager-based drone task (ARL drone) with MDP configs and RL agent configs.Motivation and context
Type of change
Files changed (high-level summary)
Dependencies
.zip) — ensure Git LFS is used if you want large assets tracked by LFS.Checklist (status)
pre-commitchecks with./isaaclab.sh --formatconfig/extension.tomlfileCONTRIBUTORS.mdor my name already exists there