Hello everyone,
Isaac Sim Version
4.5.0
4.2.0
4.1.0
4.0.0
4.5.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):
Operating System
Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):
GPU Information
- Model: NVIDIA GeForce RTX4070
- Driver Version: 535.230.02
Topic Description
Detailed Description
I am trying to assemble the UR5e and Robotiq_2F_85_edit according to the tutorial at Assemble Robots And Rigid Bodies — Isaac Sim Documentation, but I am unable to attach them properly.
Steps to Reproduce
- Display the models of UR5e and Robotiq
- Click the “BEGIN ASSEMBLE” button
- Click the “SELECT ATTACH POINT” button and set the coordinates at the tip of the UR5e
- Click the “ASSEMBLE” button
Error Messages
After clicking the “BEGIN ASSEMBLE” button:
[Error] [omni.usd.commands.usd_commands] Cannot move/rename ancestral prim /World/Robotiq_2F_85_edit/Robotiq_2F_85
After clicking the “ASSEMBLE” button:
[Warning] [omni.metrics.assembler.ui.metricsAssemblerManager] Could not get Sdf layer for /World/ur5e
Screenshots or Videos
Step2
Step3
Please tell me how to assemble robot.
Thank you for any help!
1 Like
Have you resolved this issue?
I couldn’t reproduce the issue on my first attempt, and the following code snippet was generated:
from isaacsim.robot_setup.assembler import RobotAssembler,AssembledRobot
from isaacsim.core.prims import SingleArticulation
import numpy as np
base_robot_path = "/World/ur5e"
attach_robot_path = "/World/Robotiq_2F_85"
base_robot_mount_frame = "/wrist_3_link"
attach_robot_mount_frame = "/base_link"
fixed_joint_offset = np.array([0.0,0.0,0.0])
fixed_joint_orient = np.array([-0.0,0.7071,0.0,0.7071])
single_robot = False
robot_assembler = RobotAssembler()
assembled_robot = robot_assembler.assemble_articulations(
base_robot_path,
attach_robot_path,
base_robot_mount_frame,
attach_robot_mount_frame,
fixed_joint_offset,
fixed_joint_orient,
mask_all_collisions = True,
single_robot=single_robot
)
# The fixed joint in a assembled robot is editable after the fact:
# offset,orient = assembled_robot.get_fixed_joint_transform()
# assembled_robot.set_fixed_joint_transform(np.array([.3,0,0]),np.array([1,0,0,0]))
# And the assembled robot can be disassembled, after which point the AssembledRobot object will no longer function.
# assembled_robot.disassemble()
# Controlling the resulting assembled robot is different depending on the single_robot flag
if single_robot:
# The robots will be considered to be part of a single Articulation at the base robot path
controllable_single_robot = SingleArticulation(base_robot_path)
else:
# The robots are controlled independently from each other
base_robot = SingleArticulation(base_robot_path)
attach_robot = SingleArticulation(attach_robot_path)
Afterwards, I consistently encountered the same error you described.