Is the method of running Python different in the Docker version of Isaac Sim?

Isaac Sim Version

4.5.0
4.2.0
4.1.0
4.0.0
4.5.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):

Operating System

Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):

GPU Information

  • Model: NVIDIA RTX A5000
  • Driver Version: 535.183.01

Topic Description

Detailed Description

I am running Isaac Sim using Docker and streaming it to my MacBook via WebRTC. However, I executed ./python.sh standalone_examples/tutorials/getting_started_robot.py with the headless option, just as I did when running it locally. While I was able to display the screen through the WebRTC Client using ./runheadless.sh, running a Python file with the headless option in SimulationApp did not transmit the WebRTC stream.

Screenshots or Videos

Additional Information

Additional Context

Additionally, I want to run the Leather robot using SSH. However, when I reset the world, the following error occurs. Could you provide an example of how to run the Leather robot?

Code

import omni
import carb
import numpy as np
from omni.isaac.core import World
from isaacsim.storage.native import get_assets_root_path
from isaacsim.core.api.robots import Robot
from omni.isaac.wheeled_robots.robots import WheeledRobot
from isaacsim.core.utils.stage import add_reference_to_stage
from isaacsim.core.api.objects.ground_plane import GroundPlane
from isaacsim.robot.wheeled_robots.controllers.ackermann_controller import AckermannController
from isaacsim.core.prims import Articulation
from isaacsim.core.utils.viewports import set_camera_view

# Step 01. Setup the asset root path
assets_root_path = get_assets_root_path()

# Step 02. Load World & Ground Plane
world = World(stage_units_in_meters=1.0)
GroundPlane(prim_path="/World/GroundPlane", z_position=0)
# set_camera_view(eye=[5.0, 0.0, 1.5], target=[0.00, 0.00, 1.00], camera_prim_path="/OmniverseKit_Persp")

# Step 03. Add Leather Robot
asset_path = assets_root_path + "/Isaac/Robots/Leatherback/leatherback.usd"
robot = world.scene.add(WheeledRobot(prim_path="/World/leather", name="robot", create_robot=True, usd_path=asset_path, position=np.array([0.0, 0.0, 0.2])))
# robot = Articulation(prim_paths_expr="/World/leather", name="robot")
print(f"robot: {robot}")

# Step 04. Add Robot controller (Robot Specification)
wheel_base = 1.65
track_width = 1.25
wheel_radius = 0.25
desired_forward_vel = 1.1  # rad/s
desired_steering_angle = 0.1  # rad
controller = AckermannController("test_controller", wheel_base=wheel_base, track_width=track_width, front_wheel_radius=wheel_radius)
print(f"controller: {controller}")

world.play()

while world.is_playing():
    world.reset()
    controller.reset()        
    

    world.step(render=True)
    print("number")
    
# actions = controller.forward([desired_steering_angle, steering_velocity, desired_forward_vel, acceleration, dt])

Error:

raceback (most recent call last) Traceback (most recent call last):
  File "/isaac-sim/exts/isaacsim.code_editor.vscode/isaacsim/code_editor/vscode/executor.py", line 73, in execute
    result = eval(code, self._globals, self._locals)
  File "<string>", line 1, in <module>
  File "/isaac-sim/exts/isaacsim.core.api/isaacsim/core/api/world/world.py", line 390, in reset
    self._scene._finalize(self.physics_sim_view)
  File "/isaac-sim/exts/isaacsim.core.api/isaacsim/core/api/scenes/scene.py", line 364, in _finalize
    robot.initialize(physics_sim_view)
  File "/isaac-sim/exts/isaacsim.robot.wheeled_robots/isaacsim/robot/wheeled_robots/robots/wheeled_robot.py", line 194, in initialize
    self._num_wheel_dof = len(self._wheel_dof_indices)
TypeError: object of type 'NoneType' has no len()