Skip to content

Init Pose which configuration in yaml file is NOT initialize the Robot dof pos when use Isaaclab as backend. #61

@RealTaseny

Description

@RealTaseny

Hi, is someone else has the same affected on this issue.
When I use isaaclab as the mimickit backend engine, I suffer this error:

ValueError: The following joints have default positions out of the limits: 
	- 'FL_calf_joint': 0.000 not in [-2.723, -0.838]
	- 'FR_calf_joint': 0.000 not in [-2.723, -0.838]
	- 'RL_calf_joint': 0.000 not in [-2.723, -0.838]
	- 'RR_calf_joint': 0.000 not in [-2.723, -0.838]

I got this trace on debug, it finally into this file ${ISAACLAB}/source/isaaclab/isaaclab/assets/articulation/articulation.py

# check that the default values are within the limits
        joint_pos_limits = self.root_physx_view.get_dof_limits()[0].to(self.device)
        out_of_range = self._data.default_joint_pos[0] < joint_pos_limits[:, 0]
        out_of_range |= self._data.default_joint_pos[0] > joint_pos_limits[:, 1]

At first, I didn't encount this error when I use humanoid as play or train agents, but when I change into quadruped, the error happening. So I check the Go2 usd file, I found the default joint pose is all zero, so if the init pose configuration in the yaml file didn't change the agent default dof pos, the error occurring. Finally I change usd file default pos into the joint limit range, the error disappered.

I think the ideal logic is that when the backend engine initialize API is called, the init pose configuration also change into the agent default dof pos, cause if you use the python script convert_urdf in the isaaclab, you will always get the usd file which agent default dof pos all zero. I will try to solve the problem by my self, I am so appreciate that if someone else has the same problem too and can share you solution.

Here's my run command

python3 run.py --arg_file args/deepmimic_go2_ppo_args.txt --visualize true --num_envs 4 --mode test --model_file data/models/deepmimic_go2_pace_model.pt

Here's my yaml file:

o upload "deepmimic_go2_env.yaml" -->

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions