Hello.
I cannot find any documentation on the correct way to connect/use Omnigraph variables in an omnigraph using the python omni.graph.core.Controller
api.
I am creating variables as follows:
og.Controller.edit(
{ ... },
{
og.Controller.Keys.CREATE_VARIABLES: [
("has_inited", "bool", False),
("init_inv_tf", "matrixd[4]")
],
...
}
)
And have tried to create read/write nodes to access them as follows:
og.Controller.edit(
{ ... },
{
og.Controller.Keys.CREATE_NODES: [
("ReadHasInited", "omni.graph.core.ReadVariable"),
("WriteInitBool", "omni.graph.core.WriteVariable"),
("ReadInitMatrix", "omni.graph.core.ReadVariable"),
("WriteInitMatrix", "omni.graph.core.WriteVariable"),
],
og.Controller.Keys.CONNECT: [
("ReadHasInited.inputs:variableName", "has_inited"),
("WriteInitBool.inputs:variableName", "has_inited"),
("ReadInitMatrix.inputs:variableName", "init_inv_tf"),
("WriteInitMatrix.inputs:variableName", "init_inv_tf"),
],
...
}
)
When inspecting the resultant omnigraph it first appears that everything is connected properly, but when running the sim the variables do not appear to do anything. Additionally, attempting to click on the read/write nodes in the gui makes them turn gray and resets their variableName
attribute, rendering them useless:
Is this a bug or is there a different way that I can set up my omnigraph using python such that I can read/write to variables?
I am using Isaac Sim 4.2.0 on Ubuntu 22.04.5