Seeing as the latest version of Isaac Sim added new sensors like Sensor Assets — Omniverse IsaacSim latest documentation I want to publish the topics from the various cameras and IMU in the D455.
What would be the process to do so?
I have edited my robot USD and attached a D455 sensor.
Then I am trying to follow: 7.1.18. Publishing Camera’s Data — Omniverse IsaacSim latest documentation
depth_camera_path = camera_path + "/Realsense/RSD455/Camera_Pseudo_Depth"
step_size = 1 # int(60/freq)
topic_name = camera_path + "_pointcloud" # Set topic name to the camera's name
queue_size = 1
node_namespace = ""
# This matches what the TF tree is publishing.
frame_id = camera_path
# Note, this pointcloud publisher will simply convert the Depth image to a pointcloud using the Camera intrinsics.
# This pointcloud generation method does not support semantic labelled objects.
rv = omni.syntheticdata.SyntheticData.convert_sensor_type_to_rendervar(
sd.SensorType.DistanceToImagePlane.name
)
writer = rep.writers.get(rv + "ROS1PublishPointCloud")
writer.initialize(
frameId=frame_id,
nodeNamespace=node_namespace,
queueSize=queue_size,
topicName=topic_name
)
camera = Camera(depth_camera_path)
carb.log_warn("camera: {}".format(camera))
render_product = camera._render_product_path
carb.log_warn("render_product: {}".format(render_product))
writer.attach([render_product])
# Set step input of the Isaac Simulation Gate nodes upstream of ROS publishers to control their execution rate
gate_path = omni.syntheticdata.SyntheticData._get_node_path(
rv + "IsaacSimulationGate", render_product
)
og.Controller.attribute(gate_path + ".inputs:step").set(step_size)
My camera is printed as:
2024-01-08 16:53:25 [13,065ms] [Warning] [keyper_with_ih] camera: <omni.isaac.sensor.scripts.camera.Camera object at 0x7f6a4cb0cd60>
But my render product is None
.
Is there any example on how to use these pre built sensors?