bha51
April 1, 2026, 9:55am
1
Anyone else tried setting up the env in Issac Lab?
I am having an issue of replicating the eval env in Issac Lab, the robot has a different configuration and it seems the components like the nic card have coordinate frames defined differently from that in the Gazebo urdf model. Specifically that there is no specific SFP port link
I have same problem like u. I tried a growth truth by keyboard. But it is still not accurate. Have u solve the problem.
Hi everyone,
Thank you for your messages. To assist you better, could you please provide additional details to help the team replicate the issue?
Thank you in advance,
Raffaello
1 Like
Maybe this issue can help.
已打开 03:25AM - 13 Mar 26 UTC
bug
### Description
There is a coordinate frame mismatch between the Isaac Lab trai… ning environment (AIC-Insertion-v0) and the Gazebo evaluation environment for the SFP cable insertion task.
Specifically:
The port entrance position
The insertion direction
The plug reference frame
are computed differently in Isaac Lab and Gazebo.
This can cause policies trained in Isaac Lab to fail when transferred to Gazebo or real hardware due to systematic misalignment.
### Setup method
Docker + Distrobox + Pixi (recommended)
### OS
Ubuntu 24.04
### System specs
CPU: Intel i9-13900K
RAM:32 GB
GPU:NVIDIA RTX 4090
GPU driver:nvidia-smi
### Steps to reproduce
Gazebo
Port:
Read the world poses of sfp_port_0_link and sfp_port_0_link_entrance from TF.
They are computed at runtime from the SDF hierarchy (mount → nic_card_link → port → entrance) according to the current pose.
Plug:
Read the world pose of cable_0/sfp_tip_link from TF (the link corresponding to the plug tip).
Isaac Lab
Port:
Does not use TF.
Instead, it uses nic_card.root_pos_w plus hard-coded constants SFP_ENTRANCE_OFFSET_W and INSERTION_DIR_W, without applying the rotation of nic_card.
Plug:
Uses body_pos_w / body_quat_w of sfp_module_visual from the articulation.
The insertion axis is defined as the −Z axis of that body.
### Relevant log output
```shell
Isaac Lab side (can be obtained directly from the code or a single run):
NIC: root_pos_w = (0.25135, 0.25229, 0.0743); root_quat_w is not used in the computation.
SFP entrance world position: (0.23840, 0.24666, 0.15167) (computed as nic_pos + constant offset).
Insertion direction constant: INSERTION_DIR_W = (0.0, 0.013438, -0.999910).
Plug (during pre-insertion):
Position: (0.23867, 0.24923, 0.18548)
The plug body’s −Z axis in world frame is approximately (+0.2926, +0.5039, -0.8127), which is about 35° away from the insertion direction.
Gazebo side:
Local quantities defined in SDF:
Pose of the port relative to nic_card_link
Entrance relative to the port: (0, 0, -0.0458)
Pose of nic_card_link inside the mount: (-1.57, 0, 0)
These transforms are applied through the SDF hierarchy at runtime.
```
### Additional context
_No response_
awesome! Thank you!
We are working on it, and we will release a patch soon. I will let you know