Adds task Reach-UR10e, an end-effector tracking environment (#3147)
# Initial Implementation of UR10e Reach Environment for IsaacLab <!-- Thank you for your interest in sending a pull request. Please make sure to check the contribution guidelines. Link: https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html --> This PR introduces a UR10e robot reach environment for IsaacLab, enabling reinforcement learning-based end-effector pose control using keypoint-based rewards and domain randomization. ## Summary Adds a new UR10e reach environment that trains RL agents to control the robot's end-effector to reach target poses. Uses manager-based RL framework with 6D keypoint alignment rewards. ### Key Features: - **UR10e Robot Configuration**: Asset definition for UE10e - **Keypoint-based Rewards**: 6D pose alignment using multiple keypoints for precise control - **Domain Randomization**: Joint position, stiffness, damping, and friction randomization ## Type of change - [x] New feature (non-breaking change which adds functionality) - [x] This change requires a documentation update ## Implementation Details ### Environment Configuration: - **Observations**: Joint positions, velocities, target pose commands (19-dim) - **Actions**: Relative joint position control with 0.0625 scale factor (6-dim) - **Rewards**: Keypoint tracking with exponential reward functions - **Domain Randomization**: Joint offsets (±0.125 rad), stiffness (0.9-1.1x), damping (0.75-1.5x), friction (0.0-0.1 N⋅m) ### Target Workspace: - **Position**: Center (0.8875, -0.225, 0.2) ± (0.25, 0.125, 0.1) meters - **Orientation**: (π, 0, -π/2) ± (π/6, π/6, 2π/3) radians ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] 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 ## Usage Example ```python ./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task Isaac-Reach-UR10e-v0 --num_envs 1024 --headless ./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/play.py --task Isaac-Reach-UR10e-v0 --num_envs 1 --checkpoint <path_to_checkpoint> ``` Co-authored-by:Kelly Guo <kellyg@nvidia.com>
Showing
132 KB