Replaces manual H264/TCP stereo streaming with NVIDIA CloudXR for
higher-quality stereoscopic rendering and lower latency.
Changes:
- teleop_xr_agent.py: add --cloudxr flag (enables Isaac Sim XR mode,
disables manual StreamingManager)
- deps/cloudxr/: NVIDIA CloudXR.js SDK (Early Access) with Isaac Lab
teleop React web client
- deps/cloudxr/Dockerfile.wss.proxy: HAProxy WSS proxy for PICO 4 Ultra
HTTPS mode (routes wss://48322 → ws://49100)
- deps/cloudxr/isaac/webpack.dev.js: disable file watching to avoid
EMFILE errors with large node_modules
- deps/cloudxr/INSTALL.md: full setup guide
Usage:
# Start CloudXR Runtime + Isaac Lab
cd ~/IsaacLab && ./docker/container.py start \
--files docker-compose.cloudxr-runtime.patch.yaml \
--env-file .env.cloudxr-runtime
# Run teleop with CloudXR
~/IsaacLab/isaaclab.sh -p teleop_xr_agent.py \
--task Isaac-MindRobot-2i-DualArm-IK-Abs-v0 --cloudxr
# Serve web client
cd deps/cloudxr/isaac && npm run dev-server:https
41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
const path = require('path');
|
|
const HtmlWebpackPlugin = require('html-webpack-plugin');
|
|
|
|
module.exports = {
|
|
entry: './src/main.ts',
|
|
|
|
// Module rules define how different file types are processed
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.tsx?$/,
|
|
use: 'ts-loader',
|
|
exclude: /node_modules/,
|
|
},
|
|
],
|
|
},
|
|
|
|
// Resolve configuration for module resolution
|
|
resolve: {
|
|
extensions: ['.ts', '.js'],
|
|
alias: {
|
|
// @helpers can be used instead of relative paths to the helpers directory
|
|
'@helpers': path.resolve(__dirname, '../helpers')
|
|
}
|
|
},
|
|
|
|
// Output configuration for bundled files
|
|
output: {
|
|
filename: 'bundle.js',
|
|
path: path.resolve(__dirname, './build'),
|
|
},
|
|
|
|
// Webpack plugins that extend webpack's functionality
|
|
plugins: [
|
|
// Generates HTML file and automatically injects bundled JavaScript
|
|
new HtmlWebpackPlugin({
|
|
template: './index.html',
|
|
favicon: './favicon.ico'
|
|
})
|
|
]
|
|
}; |