You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Similar to #605, I am trying to add a Xarm7 from mujoco-menagerie as a custom imported arm. I largely followed the directions from the importing model documentation, with slightly modified steps for handling the XML as it was obtained from the mujoco-menagerie repo instead.
The model is successfully loaded in robosuite and renders fine. The xml's are in the correct folders and renders correctly as well using browse_mjcf_model.py. I am able to attach camera observations as well. However, the arm's control seems to be wrong, as when I run the tune_joints.py script or any other script that asks the arm to hold its initial position, the arm just raises straight upwards and begins stuttering/shaking.
Here's a visual of the problem (result directly after running python tune_joints.py --robots XArm7):
I also printed the joint positions in the loop of the tune_joints by adding this to the bottom of the tune_joints.py:
def get_joint_positions(joint_pos_cos, joint_pos_sin):
return np.arctan2(joint_pos_sin, joint_pos_cos)
# just spin to let user interact with window
while True:
action = np.zeros(env.action_dim)
obs, reward, done, _ = env.step(action)
print(get_joint_positions(obs["robot0_joint_pos_cos"], obs["robot0_joint_pos_sin"]))
env.render()
and the output seems to be raising joint positions over time:
[robosuite WARNING] Could not import robosuite_models. Some robots may not be available. If you want to use these robots, please install robosuite_models from source (https://github.com/ARISE-Initiative/robosuite_models) or through pip install. (__init__.py:30)
Welcome to the joint tuning script! You will be able to tune the robot
arm joints in the specified environment by using your keyboard. The
controls are printed below:
Keys Command
1-N Active Joint being tuned (N=number of joints for the active arm)
t Toggle between robot arms in the environment
r Reset active arm joints to all 0s
up/down incr/decrement the active joint angle
[robosuite INFO] Loading controller configuration from: /home/edward/Documents/Code/URIL/URIL-robosuite/robosuite/controllers/config/default/composite/basic.json (composite_controller_factory.py:121)
[robosuite WARNING] The config has defined for the controller "left", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for left from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "torso", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for torso from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "head", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for head from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "base", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for base from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "legs", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for legs from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "left", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for left from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "torso", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for torso from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "head", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for head from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "base", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for base from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "legs", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for legs from self.part_controller_config. (robot.py:151)
[0.000 -0.003 0.000 1.235 -0.000 1.233 -0.000]
[-0.000 0.000 -0.000 1.259 -0.000 1.256 -0.000]
[-0.000 0.004 -0.000 1.284 -0.000 1.278 -0.000]
[-0.000 0.006 -0.000 1.308 -0.000 1.300 -0.000]
[-0.000 0.009 -0.000 1.331 -0.000 1.321 -0.000]
[-0.000 0.012 -0.000 1.354 -0.000 1.341 -0.000]
[-0.000 0.016 -0.000 1.379 -0.000 1.364 -0.000]
[-0.000 0.019 0.000 1.403 -0.000 1.385 -0.000]
[-0.000 0.022 0.000 1.428 -0.000 1.406 -0.000]
[-0.000 0.027 0.000 1.454 -0.000 1.429 -0.000]
[-0.000 0.030 0.000 1.478 -0.000 1.449 -0.000]
[-0.000 0.034 0.000 1.502 -0.000 1.470 -0.000]
[-0.000 0.038 0.000 1.528 -0.000 1.492 -0.000]
[-0.000 0.041 0.000 1.550 -0.000 1.511 0.000]
[-0.000 0.045 0.000 1.575 -0.000 1.532 -0.000]
[-0.000 0.048 0.000 1.598 -0.000 1.552 -0.000]
[-0.000 0.052 0.000 1.622 -0.000 1.571 -0.000]
[-0.000 0.056 0.000 1.646 -0.000 1.591 0.000]
[-0.000 0.060 0.000 1.669 -0.000 1.610 0.000]
[-0.000 0.063 0.000 1.691 -0.000 1.628 0.000]
[-0.000 0.065 0.000 1.712 -0.000 1.645 0.000]
[-0.000 0.068 0.000 1.733 -0.000 1.661 0.000]
[-0.000 0.070 0.000 1.754 -0.000 1.678 0.000]
[-0.000 0.073 0.000 1.775 -0.000 1.694 0.000]
[-0.000 0.076 0.000 1.796 -0.000 1.711 0.000]
[-0.000 0.077 0.000 1.815 -0.000 1.725 0.000]
[-0.000 0.080 0.000 1.835 -0.000 1.741 0.000]
[-0.000 0.083 0.000 1.855 -0.000 1.756 -0.000]
[-0.000 0.084 0.000 1.874 -0.000 1.771 -0.000]
[-0.000 0.085 0.000 1.891 -0.000 1.784 -0.000]
[-0.000 0.087 0.000 1.909 -0.000 1.798 -0.000]
[-0.000 0.090 0.000 1.930 -0.000 1.813 -0.000]
[-0.000 0.092 0.000 1.949 -0.000 1.828 -0.000]
[-0.000 0.092 0.000 1.965 -0.000 1.839 -0.000]
[-0.000 0.093 0.000 1.981 -0.000 1.851 -0.000]
[-0.000 0.095 0.000 2.000 -0.000 1.865 -0.000]
[-0.000 0.098 0.000 2.018 -0.000 1.878 -0.000]
[-0.000 0.100 0.000 2.036 -0.000 1.891 -0.000]
[-0.000 0.101 0.000 2.053 -0.000 1.903 -0.000]
[-0.000 0.103 0.000 2.070 -0.000 1.915 -0.000]
[-0.000 0.104 0.000 2.085 -0.000 1.926 -0.000]
[0.000 0.103 0.000 2.097 -0.000 1.934 -0.000]
[-0.000 0.102 0.000 2.109 -0.000 1.943 -0.000]
[-0.000 0.102 0.000 2.122 -0.000 1.952 -0.000]
[-0.000 0.103 0.000 2.138 -0.000 1.963 -0.000]
[-0.000 0.104 0.000 2.154 -0.000 1.973 -0.000]
[0.000 0.103 0.000 2.165 -0.000 1.980 -0.000]
[-0.000 0.102 0.000 2.176 -0.000 1.988 -0.000]
[-0.000 0.101 0.000 2.187 -0.000 1.995 -0.000]
[-0.000 0.102 0.000 2.202 -0.000 2.005 -0.000]
[-0.000 0.104 0.000 2.217 -0.000 2.015 -0.000]
[0.000 0.101 0.000 2.226 -0.000 2.021 -0.000]
[0.000 0.097 0.000 2.231 -0.000 2.024 -0.000]
[0.000 0.095 0.000 2.238 -0.000 2.029 -0.000]
[0.000 0.093 0.000 2.247 -0.000 2.034 -0.000]
[0.000 0.091 0.000 2.255 -0.000 2.039 -0.000]
[-0.000 0.089 0.000 2.265 -0.000 2.046 -0.000]
[0.000 0.088 0.000 2.275 -0.000 2.052 -0.000]
[0.000 0.086 0.000 2.282 -0.000 2.057 -0.000]
[0.000 0.083 0.000 2.288 -0.000 2.060 -0.000]
In contrast, if i run the built in Panda arm in the same way and print the joint position debug information, the arm holds the correct joint angle:
[robosuite WARNING] Could not import robosuite_models. Some robots may not be available. If you want to use these robots, please install robosuite_models from source (https://github.com/ARISE-Initiative/robosuite_models) or through pip install. (__init__.py:30)
Welcome to the joint tuning script! You will be able to tune the robot
arm joints in the specified environment by using your keyboard. The
controls are printed below:
Keys Command
1-N Active Joint being tuned (N=number of joints for the active arm)
t Toggle between robot arms in the environment
r Reset active arm joints to all 0s
up/down incr/decrement the active joint angle
[robosuite INFO] Loading controller configuration from: /home/edward/Documents/Code/URIL/URIL-robosuite/robosuite/controllers/config/default/composite/basic.json (composite_controller_factory.py:121)
[robosuite WARNING] The config has defined for the controller "left", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for left from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "torso", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for torso from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "head", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for head from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "base", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for base from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "legs", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for legs from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "left", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for left from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "torso", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for torso from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "head", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for head from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "base", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for base from self.part_controller_config. (robot.py:151)
[robosuite WARNING] The config has defined for the controller "legs", but the robot does not have this component. Skipping, but make sure this is intended.Removing the controller config for legs from self.part_controller_config. (robot.py:151)
[-0.000 0.196 0.000 -2.618 0.000 2.942 0.785]
[-0.000 0.196 0.000 -2.618 0.000 2.942 0.785]
[-0.000 0.196 0.000 -2.618 0.000 2.942 0.785]
[-0.000 0.196 0.000 -2.618 0.000 2.942 0.785]
[-0.000 0.196 0.000 -2.618 0.000 2.942 0.785]
[-0.000 0.196 0.000 -2.618 0.000 2.942 0.785]
[-0.000 0.196 0.000 -2.618 0.000 2.942 0.785]
[-0.000 0.196 0.000 -2.618 0.000 2.942 0.785]
[-0.000 0.196 0.000 -2.618 0.000 2.942 0.785]
[-0.000 0.196 0.000 -2.618 0.000 2.942 0.785]
[-0.000 0.196 0.000 -2.618 0.000 2.942 0.785]
[-0.000 0.196 0.000 -2.618 0.000 2.942 0.785]
[-0.000 0.196 0.000 -2.618 0.000 2.942 0.785]
[-0.000 0.196 0.000 -2.618 0.000 2.942 0.785]
Similarly, if I try to run the teleportation script, whenever I give an input, there seems to be a "force" pulling the arm in a different random direction and the arm continuously stutters and tweaks.
Reproduce Problem
My fork of the robosuite with my exact set up and xml files are at this repo. Just set up the same way as regular robosuite and run the corresponding scripts to reproduce.
Expected Behavior
Arm should stay still and hold position when running tune_joints.py without any additional input and should correctly move according to user input during teleportation.
The text was updated successfully, but these errors were encountered:
System Info
Problem Information
Similar to #605, I am trying to add a Xarm7 from mujoco-menagerie as a custom imported arm. I largely followed the directions from the importing model documentation, with slightly modified steps for handling the XML as it was obtained from the mujoco-menagerie repo instead.
The model is successfully loaded in robosuite and renders fine. The xml's are in the correct folders and renders correctly as well using
browse_mjcf_model.py
. I am able to attach camera observations as well. However, the arm's control seems to be wrong, as when I run the tune_joints.py script or any other script that asks the arm to hold its initial position, the arm just raises straight upwards and begins stuttering/shaking.Here's a visual of the problem (result directly after running
python tune_joints.py --robots XArm7
):I also printed the joint positions in the loop of the tune_joints by adding this to the bottom of the
tune_joints.py
:and the output seems to be raising joint positions over time:
In contrast, if i run the built in Panda arm in the same way and print the joint position debug information, the arm holds the correct joint angle:
Similarly, if I try to run the teleportation script, whenever I give an input, there seems to be a "force" pulling the arm in a different random direction and the arm continuously stutters and tweaks.
Reproduce Problem
My fork of the robosuite with my exact set up and xml files are at this repo. Just set up the same way as regular robosuite and run the corresponding scripts to reproduce.
Expected Behavior
Arm should stay still and hold position when running
tune_joints.py
without any additional input and should correctly move according to user input during teleportation.The text was updated successfully, but these errors were encountered: