Kaya code example: Physics Simulation View not created

I wanted to try the standalone example kaya_move.py. When resetting the simulation with the GUI the robot is no longer able to move and the warning

Physics Simulation View not created yet in order to apply get_applied_actions
Physics Simulation View not created yet in order to apply apply_action
1 Like

Hi @wueestry - Can you share the logfile to look into it?

This is the log file I got when running the example and then resetting it with the GUI.

kit_20231106_152044.log (1.0 MB)

I’m also getting this when running the tutorial code.

# Copyright (c) 2020-2023, NVIDIA CORPORATION. All rights reserved.
#
# NVIDIA CORPORATION and its licensors retain all intellectual property
# and proprietary rights in and to this software, related documentation
# and any modifications thereto. Any use, reproduction, disclosure or
# distribution of this software and related documentation without an express
# license agreement from NVIDIA CORPORATION is strictly prohibited.
#

from omni.isaac.examples.base_sample import BaseSample
from omni.isaac.core.utils.nucleus import get_assets_root_path
from omni.isaac.wheeled_robots.robots import WheeledRobot
from omni.isaac.wheeled_robots.controllers.differential_controller import DifferentialController
from omni.isaac.motion_generation import WheelBasePoseController

import numpy as np
import carb


class HelloWorld(BaseSample):
    def __init__(self) -> None:
        super().__init__()

    def setup_scene(self):
        world = self.get_world()
        world.scene.add_default_ground_plane()

        assets_root_path = get_assets_root_path()
        if assets_root_path is None:
            carb.log_error("Could not find nucleus server with /Isaac folder in it")
        carb.log_info(f'asset_root_path: {assets_root_path}')
        jetbot_asset_path = assets_root_path + "/Isaac/Robots/Jetbot/jetbot.usd"

        world.scene.add(
            WheeledRobot(
                prim_path='/World/Jetbot', 
                name='jetbot',
                wheel_dof_names=["left_wheel_joint", "right_wheel_joint"],
                create_robot=True,
                usd_path=jetbot_asset_path,
            ))

    async def setup_post_load(self):
        carb.log_info("setup_post_load start")
        self.get_world().add_physics_callback('sending_actions', callback_fn=self.send_robot_actions)
        self.jetbot_controller = WheelBasePoseController(
            name='wheelbase_controller',
            open_loop_wheel_controller=DifferentialController(
                name='differential_control',
                wheel_radius=0.03,
                wheel_base=0.1125
            ),
            is_holonomic=False
        )
        carb.log_info("setup_post_load complete")

    def send_robot_actions(self, step_size):
        jetbot = self.get_world().scene.get_object("jetbot")
        world_pos, world_rot = jetbot.get_world_pose()
        goal_pos = np.array([.8, .8])
        action = self.jetbot_controller.forward(
            start_position=world_pos, 
            start_orientation=world_rot, 
            goal_position=goal_pos)
        jetbot.apply_action(action)

    async def setup_pre_reset(self):
        return

    async def setup_post_reset(self):
        return

    def world_cleanup(self):
        return

Facing the same problem here, every time when I clicked ‘reset’ button on GUI, I saw these warnings and thus failed to control my robot with ROS message.