feat(simulation): add Worker AI polygon runtime and terrain navigation
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
"""Start the prepared Worker and its private tunnel in one foreground SSH session."""
|
||||
|
||||
import argparse
|
||||
import base64
|
||||
import os
|
||||
import re
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--release", required=True, help="16-character build_bundle identity prefix")
|
||||
parser.add_argument("--once", action="store_true", help="Exit after one episode")
|
||||
args = parser.parse_args()
|
||||
if not re.fullmatch(r"[a-f0-9]{16}", args.release):
|
||||
parser.error("release must be a 16-character lowercase hexadecimal bundle identity")
|
||||
script = r"""
|
||||
$ErrorActionPreference='Stop'
|
||||
$ProgressPreference='SilentlyContinue'
|
||||
[Console]::OutputEncoding=[System.Text.Encoding]::UTF8
|
||||
$b='D:\NDC_MISSIONCORE\runtime\simulation'
|
||||
$worker="$b\releases\ai-polygon-RELEASE\simulation\ai-polygon\worker.py"
|
||||
& "$b\isaac-sim-6.1.0\kit\python\python.exe" -u $worker `
|
||||
--token-file "$b\private\worker.token" --state "$b\state" `
|
||||
--isaac "$b\isaac-sim-6.1.0" ONCE
|
||||
exit $LASTEXITCODE
|
||||
""".replace("RELEASE", args.release).replace("ONCE", "--once" if args.once else "")
|
||||
encoded = base64.b64encode(script.encode("utf-16-le")).decode()
|
||||
os.execvp(
|
||||
"ssh",
|
||||
[
|
||||
"ssh",
|
||||
"-T",
|
||||
"-o",
|
||||
"BatchMode=yes",
|
||||
"-o",
|
||||
"ExitOnForwardFailure=yes",
|
||||
"-o",
|
||||
"ServerAliveInterval=5",
|
||||
"-o",
|
||||
"ServerAliveCountMax=3",
|
||||
"-R",
|
||||
"127.0.0.1:18081:127.0.0.1:8000",
|
||||
"mission-gpu",
|
||||
"powershell.exe -NoProfile -NonInteractive -EncodedCommand " + encoded,
|
||||
],
|
||||
)
|
||||
Reference in New Issue
Block a user