diff --git a/.env b/.env
index c633cafdd..81f84dfdb 100644
--- a/.env
+++ b/.env
@@ -1,7 +1,7 @@
# This top-level .env file under AirStack/ defines variables that are propagated through docker-compose.yaml
PROJECT_NAME="airstack"
# auto-generated from git commit hash
-DOCKER_IMAGE_TAG="008839f"
+DOCKER_IMAGE_TAG="501d90f"
# can replace with your docker hub username
PROJECT_DOCKER_REGISTRY="airlab-storage.andrew.cmu.edu:5001/shared"
DEFAULT_ISAAC_SCENE="omniverse://airlab-storage.andrew.cmu.edu:8443/Projects/AirStack/AFCA/fire_academy_faro_with_sky.scene.usd"
diff --git a/docs/real_world/HITL/index.md b/docs/real_world/HITL/index.md
new file mode 100644
index 000000000..bf6057c70
--- /dev/null
+++ b/docs/real_world/HITL/index.md
@@ -0,0 +1,25 @@
+# Hardware-In-The-Loop Simulation
+We configure a multi-machine HITL simulation, where a powerful desktop computer runs Isaac Simulator and rendering, and one/multiple jetson compute boards run robot-specific programs (planning, mapping, etc.).
+## Requirement
+A desktop computer configured according to [here](/docs/getting_started). One/multiple ORIN AGX/NX configured according to [here](/docs/real_world/installation/).
+
+## Communication
+All machines should connect to the same network. In our test, all machines are connected to the same router with ethernet cables. Ensure that all machines are able to `ping` others' IP addresses.
+
+### Run
+On the desktop computer, under your Airstack folder, run
+```
+docker compose up isaac-sim-hitl
+```
+You should see the isaac simulator being launched.
+On the Jetson computer, run
+```
+docker compose up robot_l4t
+```
+Once the scene is played in the Isaac simulator, the rviz GUI on the Jetson should start displaying sensor data, which means the connection is successful.
+
+Screen record of desktop computer:
+
+
+Screen record of Jetson computer:
+
\ No newline at end of file
diff --git a/docs/real_world/installation/index.md b/docs/real_world/installation/index.md
index f6491851a..aa2a01c7c 100644
--- a/docs/real_world/installation/index.md
+++ b/docs/real_world/installation/index.md
@@ -1 +1,29 @@
-# Installation on Hardware
\ No newline at end of file
+# Installation on ORIN AGX/NX
+
+We have tested installation and running robot container on Jetson ORIN AGX/NX and Ubuntu 22.04.
+
+## Setup
+Ensure you have docker installed.
+### Clone
+
+```
+git clone --recursive -j8 git@github.com:castacks/AirStack.git
+```
+Checkout to the correct branch:
+```
+git checkout jkeller/jetson_36.4
+```
+## Configure
+
+Run `./configure.sh` and follow the instructions in the prompts to do an initial configuration of the repo.
+
+Pull the correct image:
+```
+docker compose pull robot_l4t
+```
+
+## Run
+```
+docker compose up robot_l4t
+```
+You should be able to see the rviz GUI being launched.
\ No newline at end of file
diff --git a/mkdocs.yml b/mkdocs.yml
index c742b6bb0..af94fbb04 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -123,6 +123,8 @@ nav:
- docs/real_world/data_offloading/index.md
- Installation on Hardware:
- docs/real_world/installation/index.md
+ - HITL Test:
+ - docs/real_world/HITL/index.md
- About: docs/about.md
plugins:
- search
diff --git a/robot/ros_ws/src/autonomy/2_perception/macvo2 b/robot/ros_ws/src/autonomy/2_perception/macvo2
index 973afc338..d25f1406e 160000
--- a/robot/ros_ws/src/autonomy/2_perception/macvo2
+++ b/robot/ros_ws/src/autonomy/2_perception/macvo2
@@ -1 +1 @@
-Subproject commit 973afc3384cf5680b14566aea7565824b74ad158
+Subproject commit d25f1406e092d66c5938788821706db27506c853
diff --git a/simulation/isaac-sim/docker/docker-compose.yaml b/simulation/isaac-sim/docker/docker-compose.yaml
index b926c2565..874da2c8a 100644
--- a/simulation/isaac-sim/docker/docker-compose.yaml
+++ b/simulation/isaac-sim/docker/docker-compose.yaml
@@ -1,5 +1,8 @@
services:
isaac-sim:
+ profiles:
+ - ""
+ - sitl
image: &image_tag ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${DOCKER_IMAGE_TAG}_isaac-sim
build:
context: ../
@@ -64,3 +67,13 @@ services:
- ../sitl_integration:/sitl_integration:rw
- ../sitl_integration/inputrc:/etc/inputrc
- ../sitl_integration/config:/root/.nvidia-omniverse/config:rw
+
+ # ===================================================================================================================
+ # for running over ethernet for hitl to stream to the NVIDIA jetson device
+ isaac-sim-hitl:
+ extends:
+ service: isaac-sim
+ network_mode: host
+ networks: !reset null
+ profiles:
+ - hitl
\ No newline at end of file