Isaac Sim Version: 4.5.0
Operating System inside Docker: Ubuntu 22.04
GPU Information:
Model: 4070ti Super 16GB
Driver Version: 535.230.02
Topic Description
Mimic Joints are taken over into the USD file but not as a rigid linkage with no give and appear rather to be linked by what i assume to be a tendon or a spring since they tend to oscillate or give in if pressure is applied (see Fig.1.).
the pinky finger is extended to its max while it is supposed to look more like the ring finger where the mimic joints has the same angle as the parent joint. The urdf that is also available in the git repo works without a problem on itself.
Detailed Description
i have used the command URDFParseAndImportFile with their respective configuration parameters and then saved the imported urdf as an usd before continuing to work with it. i have made sure to include the configuration to “import_config.set_parse_mimic(False)” to not import the mimics as a tendon but the behavior still persists (IsaacLab/source/isaaclab_tasks/isaaclab_tasks/direct/bionic_arm/urdf_importer.py at 705383dde573d5fa700d51b73dd40f1fc44f11b1 · YuziIV/IsaacLab · GitHub). When loading the URDF i had to add the mimic joint names to the attribute “joint_names_expr” otherwise i would get the error that the joints are not fully configured. My action space also gives me another sanity check that the mimic joints have no drive behind them because they only include the 7 joints i want to be actuated. Because the real robotic hand uses a linear actuator and a rigid linkage to move the distant Phalanx, i thought that i could just use mimic joints to replicate the true movement since URDFs don’t support closed loop structures (see Video 1).
Steps to Reproduce
- clone repository GitHub - YuziIV/IsaacLab: Unified framework for robot learning built on NVIDIA Isaac Sim
- checkout into branch “bionic-arm”
- cd into IsaacLab/docker/
- run <./container.py start> wait for container to build and start
- connect to container with bash by running <docker exec -it isaac-lab-base bash>
- run the command to train the custom arm <./isaaclab.sh -p scripts/reinforcement_learning/skrl/train.py --task Isaac-Repose-Cube-BionicArm-Direct-v0 --algorithm PPO --num_envs 32>
Screenshots or Videos
Video 1
Additional Information
What I’ve Tried
-increased the iteration steps to decrease oscillations but it didn’t help with the soft linking of the mimic joints.
solver_position_iteration_count=16,
solver_velocity_iteration_count=2,
-imported the mimic joints as tendons and set the parameter
fixed_tendons_props=sim_utils.FixedTendonPropertiesCfg(stiffness=1e9, damping=0.0)
-separate stiffness and dampening settings for mimic and non-mimic joints to replicate a prefect P-Controller.
Are there any obvious mistakes that have been made or fixes that i could apply? Thank you in advance!
25-04-11 UPDATE: stiffness of the joints were set to 0.1 instead of 1.0.
The issue described above is now occurring with the most recent Git commit:
Hash: c2e152e37af3c022467f941a0d8242935cfd7526