-
Notifications
You must be signed in to change notification settings - Fork 43
Description
I’ve been having an issue with the DVL sensor when restarting a simulation or re-running a ScriptNode that uses it. The first run works fine the DVL and its beams are created and return data but on the second or third run Isaac Sim throws repeated “Light Beam Sensor does not exist” and “Simulation view object is invalidated” errors, and eventually crashes.
It seems like the USD prims for the DVL stay in the scene between runs, but the underlying PhysX light beam sensor interface gets invalidated when the Python graph resets, so the sensor can’t reconnect.
`from isaacsim.oceansim.sensors.DVLsensor import DVLsensor
import omni.graph.core as og
def setup(db: og.Database):
db.internal_state.dvl = DVLsensor(name="DVL")
db.internal_state.dvl.attachDVL("/World/BlueROV2/base_link")
db.internal_state.dvl.add_debug_lines()
def compute(db: og.Database):
db.outputs.execOut = og.ExecutionAttributeState.ENABLED
db.outputs.vx, db.outputs.vy, db.outputs.vz = map(float, db.internal_state.dvl.get_linear_vel())
return True
`
Running this once works, but re-running it without clearing the scene crashes Isaac Sim. It seems like the DVLsensor class might need a safe way to rebind to existing prims. could you give me some guidance?