Zed-isaac-sim IMU sensor bug in multi-camera setup

Hello,

I was looking through the zed-isaac-sim codebase to see how the IMU sensor data is published, and noticed what is likely a bug. Currently, if multiple ZED Camera Helper nodes are created in one stage, then all cameras will only stream the IMU data from the camera prim of the last added ZED Camera Helper node. The issues stems from here in the annotators.py script:

    for node_name, _ in _physics_nodes.items():
        node_path = self._graph_path + f"/{node_name}"
        node = self.graph.get_node(node_path)
        if not node:
            node = self.graph.create_node(node_path, _["node_type"], True)
        # else:
        #     carb.log_warn(f"{node_name} node already exists")
        _["node"] = node

Since self.graph always refers to the same synthetic data graph, then any subsequently added ZED Camera Helper nodes will find the existing isaacsim.sensors.physics.IsaacReadIMU node, and overwrite it with the current Helper node’s IMU Prim here: self.imu.get_attribute(“inputs:imuPrim”).set(imu_full_path)

I tested with version 4.2.1 of the extension and confirmed that this is the behavior I saw when reading the streams in with the SDK. I believe this may be an issue in version as old as 3.2.0 though.

Best