Unity Simulation of Holonomic Robot - Message Content

Hello Together,

i currently try to simulate a holonomic robot in unity.
I use the //apps/navsim:navsim_navigate example but i changed to the holonomic navigation module:
{
“name”: “simulation”,
“subgraph”: “packages/navsim/apps/navsim.subgraph.json”
},
{
“name”: “navigation”,
“subgraph”: “packages/navigation/apps/holonomic_base_navigation.subgraph.json”
},
{
“name”: “goals”,
“subgraph”: “packages/navigation/apps/goal_generators.subgraph.json”
},
In Unity i receive on the “navsim/input/base_command” channel a Vector with 3 components.
Can anyone help me what this 3 components are? (velocity x, velocity y and rotation??)

While trying to send the current state to isaac i send a message with the following infomation (velocity x, velocity y, angular velocity, acceleration x, acceleration y and rotational acceleration). and i get a error code in isaac saying:
“ERROR messages/tensor.cpp@60: Tensor data size does not match. Proto provides 48 bytes while tensor expected 32 bytes.”
Can anyone help me out, understanding what the input/output messages to/from the simulation are?

Thank you,
Best
Markus

For anyone with a similar problem:

the message to unity (navsim/input/base_command) is speed_x, speed_y, angular_speed
and the message from unity to navsim/output/base_state is speed_x, speed_y, angular_speed, acceleration_x, acceleration_y

The Error messages originated for an error in the unity c# script i had:

IsaacMessage.State state = new IsaacMessage.State
{
schema = “”,
pack = IsaacMessage.CreateTensor(IsaacMessage.ElementType.float64, new int { 1, 1, 4 }, 0),
data = new double[0],
};
instead of
IsaacMessage.State state = new IsaacMessage.State
{
schema = “”,
pack = IsaacMessage.CreateTensor(IsaacMessage.ElementType.float64, new int { 1, 1, 6 }, 0),
data = new double[0],
};

1 Like

Thank you kurzschlussidi

1 Like