create a direct tasks for mobile franka #2404
Open
+871
−56
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 pull request adds a new direct task class for the Mobile Franka robot, enabling simplified control and evaluation of manipulation capabilities in a mobile setting. This allows direct instantiation and configuration without relying on intermediate wrappers or task composers.
Previously, no Mobile Franka tasks were implemented in marl setups. Environment Configuration:
Defined the MobileFrankaMARLCfg class inheriting from DirectMARLEnvCfg.
Configured the environment settings, including decimation, episode_length_s, possible_agents, action_spaces, and observation_spaces.
Simulation Settings:
Configured the simulation parameters using SimulationCfg, including:
Time step (dt=1/120).
Gravity ((0.0, 0.0, -9.81)).
Physics material properties (static_friction=1.0, dynamic_friction=1.0).
PhysX settings (e.g., bounce_threshold_velocity=0.2).
Robot Configuration:
Used MOBILE_FRANKA_CFG to define the mobile Franka robot configuration.
Set the initial state of the robot, including position, rotation, and joint positions.
Defined actuated joints (panda_joint1 to panda_joint7) and mobile base joints (dummy_base_prismatic_x_joint, dummy_base_prismatic_y_joint, etc.).
Goal Object Configuration:
Configured a goal object using VisualizationMarkersCfg with a red spherical marker to represent the goal.
Scene Configuration:
Defined the interactive scene using InteractiveSceneCfg with:
num_envs=512 for parallel environments.
env_spacing=3.0 for spacing between environments.
Enabled physics replication (replicate_physics=True).
Action and Observation Scaling:
Set action_scale=7.5 and dof_velocity_scale=0.1 to scale actions and velocities.
Limited the maximum base position to 3.0.
Reward Configuration:
Defined reward scales for various components:
Distance reward (dist_reward_scale=20).
Rotation reward (rot_reward_scale=0.5).
Finger distance reward (finger_dist_reward_scale=100.0).
Action penalty (action_penalty_scale=0.01), among others.
Reset Noise:
Configured reset noise parameters for position, DOF positions, and velocities, all set to 0.0 for deterministic resets.
These configurations collectively enable the MARL environment for the Mobile Franka robot, supporting multi-agent learning with distinct action and observation spaces for the robot arm (franka) and mobile base (base).
Fixes # (issue)
Type of change
Screenshots
Please attach before and after screenshots of the change if applicable.
Checklist
pre-commit
checks with./isaaclab.sh --format
config/extension.toml
fileCONTRIBUTORS.md
or my name already exists there