RTXLiDar implementation issue

When creating an instance of the RTX Lidar The following error is produced. I have multiple instances of lidars running to be read by ROS2. Has anyone experienced this issue?

[Warning] [omni.isaac.sensor.plugin] IsaacComputeRTXLidarFlatScan: lowest elevation emitter is 0.320000, not 0.

class RosRTXLidar():
    def __init__(
        self,
        parent_prim_path: str
    ) -> None:

        self._initialized = True

        # Locate Isaac Sim assets folder to load environment and robot stages
        self._assets_root_path = nucleus.get_assets_root_path()
        if self._assets_root_path is None:
            carb.log_error("Could not find Isaac Sim assets folder")
            self._initialized = False
            

        # Create the lidar sensor that generates data into "RtxSensorCpu"
        # Sensor needs to be rotated 90 degrees about X so that its Z up

        # Possible options are Example_Rotary and Example_Solid_State
        # drive sim applies 0.5,-0.5,-0.5,w(-0.5), we have to apply the reverse
        _, self._sensor = omni.kit.commands.execute(
            "IsaacSensorCreateRtxLidar",
            path="/sensor",
            parent=parent_prim_path,
            config="Example_Rotary",
            translation=(0, 0, 0),
            orientation=Gf.Quatd(1.0, 0.0, 0.0, 0.0),  # Gf.Quatd is w,i,j,k
        )

        # RTX sensors are cameras and must be assigned to their own render product
        self._hydra_texture = rep.create.render_product(self._sensor.GetPath(), [1, 1], name=parent_prim_path.replace("/","_"))

        self._simulation_context = SimulationContext(physics_dt=1.0 / 60.0, rendering_dt=1.0 / 60.0, stage_units_in_meters=1.0)

        # Create Point cloud publisher pipeline in the post process graph
        self._writer = rep.writers.get("RtxLidar" + "ROS2PublishPointCloud")
        self._writer.initialize(topicName=parent_prim_path + "/point_cloud", frameId= parent_prim_path)
        self._writer.attach([self._hydra_texture])

        # Create the debug draw pipeline in the post process graph
        self._writer = rep.writers.get("RtxLidar" + "DebugDrawPointCloud")
        self._writer.attach([self._hydra_texture])


        # Create LaserScan publisher pipeline in the post process graph
        self._writer = rep.writers.get("RtxLidar" + "ROS2PublishLaserScan")
        self._writer.initialize(topicName=parent_prim_path + "/laser_scan", frameId=parent_prim_path)
        self._writer.attach([self._hydra_texture])



    def run_lidar(self):
        self._simulation_context.play()

    def stop_lidar(self):
        self._simulation_context.stop()

The flat scan node is made to be used on lidar that have 0 elevation angle. You can use it on ones that have non-zero, but since there is no elevation in the scan message, it will be ignored.

You are seeing a warning that the profile you are using, “Example_Rotary” is not a 0 elevation lidar. It is not an error, just a warning. You can ignore it now that you understand it.

Alright that makes sense does it say that some where in the documentation?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.