OdometryToRos not working from Unity3D simulation

I am currently receiving a strange error when I attempt to send Odometry output to Ros. I am sending output from the UnityDifferentialBaseSimulation to the OdometryToRos node using these edges:

{
“source”: “simulation.interface/output/base_state”,
“target”: “data_to_ros.subgraph/interface/base_state”
}
{
“source”: “subgraph/interface/base_state”,
“target”: “ros_converters/OdometryToRos/proto”
}

However when I run my Isaac application I receive the following error:

terminate called after throwing an instance of ‘kj::ExceptionImpl’
what(): capnp/layout.c++:2169: failed: expected ref->kind() == WirePointer::STRUCT; Message contains non-struct pointer where struct pointer was expected.
stack: 7f5ab2d715c2 7f5ab2d76508 7f5abc8f1947 55f5ff213505 55f5ff14d43b 7f5ac300a6de 7f5ac32dd6da 7f5ac2a6571e
| Isaac application terminated unexpectedly |

Can anyone help or tell me why this error is happening? Thanks.

The OdometryToRos codelet is expecting an Odometry2Proto but the output of “subgraph/interface/base_state” is a StateProto. You’ll want to insert the following node to fix this:

{

    "source": "subgraph/interface/base_state",

    "target": "odometry/DifferentialBaseOdometry/state"

  },

  {

    "source": "odometry/DifferentialBaseOdometry/odometry",

    "target": "ros_bridge.subgraph/interface/odometry"

  },