import json
from pathlib import Path
import hardsim as hs
client = hs.HardsimClient.from_env()
robot_asset_id = client.upload_input_asset("./assets/franka.usdz", asset_kind="robot")
scene_asset_id = client.upload_input_asset("./assets/table_scene.usdz", asset_kind="scene")
task_package_asset_id = client.upload_input_asset(
"./dist/my-isaac-lab-task.zip",
asset_kind="isaac_lab_task_package",
)
job = client.submit_assets(
robot_asset_id=robot_asset_id,
scene_asset_id=scene_asset_id,
robot_asset_type="usd",
num_envs=1,
steps=1024,
physics_dt=0.005,
substeps=2,
runtime_profile="isaac_lab_rollout",
isaac_lab={
"task_module": "my_workloads.pick_and_lift",
"task_class_or_name": "TabletopPickTask",
"task_package_asset_id": task_package_asset_id,
"task_args": {
"force_video": True,
"attach_distance_m": 0.08,
},
},
)
result = client.wait(job.job_id, poll_interval_s=2.0, timeout_s=1800.0, raise_on_error=False)
print(job.job_id, result["status"])