Navsim_navigate: Backend's VirtualGamepadBridge is not ready yet

Hi scottti,
The navsim_navigate app is not setup to use the joystick.

To add this possibility you need the following changes:

1. Add commander node:

{
  "name": "commander",
  "subgraph": "packages/navigation/apps/differential_base_commander.subgraph.json"
 }

2. Add required edges to enable the command control in simulation:

{
  "source": "commander.subgraph/interface/command",
  "target": "simulation.interface/input/base_command"
 },
 {
  "source": "navigation.subgraph/interface/command",
  "target": "commander.subgraph/interface/control"
}

3. Add the manual mode channel to the navigation control configuration:

config:{
....
"navigation.control.lqr": {
  "isaac.planner.DifferentialBaseLqrPlanner": {
    "manual_mode_channel": "commander.robot_remote/isaac.navigation.RobotRemoteControl/manual_mode"
  }
},
"navigation.control.control": {
  "isaac.planner.DifferentialBaseControl": {
    "manual_mode_channel": "commander.robot_remote/isaac.navigation.RobotRemoteControl/manual_mode"
  }
},
...

4. Add the commander subgraph to the application data in the BUILD file:

isaac_app(
 name = "navsim_navigate",
 data = [
   ...
   "//packages/navigation/apps:differential_base_commander_subgraph"
 ],
 ...
)

After this, you should be able to use the Virtual GamePad.
To disable the manual mode and change to the autonomous navigation disable the deadman_switch (tick Isaac Sight → Application Configuration → [commander.robot_remote] → disable_deadman_switch + submit)

Let me know if it works for you

1 Like