Skip to content

Commit 062ac1b

Browse files
add hitl setup and docs (#276)
* add hitl setup and docs * Fix bug, remove airstack network when using network mode host --------- Co-authored-by: caomuqing <[email protected]>
1 parent 02bf3e5 commit 062ac1b

File tree

6 files changed

+71
-3
lines changed

6 files changed

+71
-3
lines changed

.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# This top-level .env file under AirStack/ defines variables that are propagated through docker-compose.yaml
22
PROJECT_NAME="airstack"
33
# auto-generated from git commit hash
4-
DOCKER_IMAGE_TAG="008839f"
4+
DOCKER_IMAGE_TAG="501d90f"
55
# can replace with your docker hub username
66
PROJECT_DOCKER_REGISTRY="airlab-storage.andrew.cmu.edu:5001/shared"
77
DEFAULT_ISAAC_SCENE="omniverse://airlab-storage.andrew.cmu.edu:8443/Projects/AirStack/AFCA/fire_academy_faro_with_sky.scene.usd"

docs/real_world/HITL/index.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Hardware-In-The-Loop Simulation
2+
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.).
3+
## Requirement
4+
A desktop computer configured according to [here](/docs/getting_started). One/multiple ORIN AGX/NX configured according to [here](/docs/real_world/installation/).
5+
6+
## Communication
7+
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.
8+
9+
### Run
10+
On the desktop computer, under your Airstack folder, run
11+
```
12+
docker compose up isaac-sim-hitl
13+
```
14+
You should see the isaac simulator being launched.
15+
On the Jetson computer, run
16+
```
17+
docker compose up robot_l4t
18+
```
19+
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.
20+
21+
Screen record of desktop computer:
22+
<iframe src="https://drive.google.com/file/d/1sNkEattgDyBAI9xFPVQsXn8sRi6gYQSG/view?usp=sharing" width="840" height="480" allow="autoplay" allowfullscreen="allowfullscreen"></iframe>
23+
24+
Screen record of Jetson computer:
25+
<iframe src="https://drive.google.com/file/d/19S8Yceq8t2FPubN8Mly003Up1AbLzCA8/view?usp=sharing" width="840" height="480" allow="autoplay" allowfullscreen="allowfullscreen"></iframe>

docs/real_world/installation/index.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,29 @@
1-
# Installation on Hardware
1+
# Installation on ORIN AGX/NX
2+
3+
We have tested installation and running robot container on Jetson ORIN AGX/NX and Ubuntu 22.04.
4+
5+
## Setup
6+
Ensure you have docker installed.
7+
### Clone
8+
9+
```
10+
git clone --recursive -j8 [email protected]:castacks/AirStack.git
11+
```
12+
Checkout to the correct branch:
13+
```
14+
git checkout jkeller/jetson_36.4
15+
```
16+
## Configure
17+
18+
Run `./configure.sh` and follow the instructions in the prompts to do an initial configuration of the repo.
19+
20+
Pull the correct image:
21+
```
22+
docker compose pull robot_l4t
23+
```
24+
25+
## Run
26+
```
27+
docker compose up robot_l4t
28+
```
29+
You should be able to see the rviz GUI being launched.

mkdocs.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,8 @@ nav:
123123
- docs/real_world/data_offloading/index.md
124124
- Installation on Hardware:
125125
- docs/real_world/installation/index.md
126+
- HITL Test:
127+
- docs/real_world/HITL/index.md
126128
- About: docs/about.md
127129
plugins:
128130
- search

simulation/isaac-sim/docker/docker-compose.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
services:
22
isaac-sim:
3+
profiles:
4+
- ""
5+
- sitl
36
image: &image_tag ${PROJECT_DOCKER_REGISTRY}/${PROJECT_NAME}:v${DOCKER_IMAGE_TAG}_isaac-sim
47
build:
58
context: ../
@@ -64,3 +67,13 @@ services:
6467
- ../sitl_integration:/sitl_integration:rw
6568
- ../sitl_integration/inputrc:/etc/inputrc
6669
- ../sitl_integration/config:/root/.nvidia-omniverse/config:rw
70+
71+
# ===================================================================================================================
72+
# for running over ethernet for hitl to stream to the NVIDIA jetson device
73+
isaac-sim-hitl:
74+
extends:
75+
service: isaac-sim
76+
network_mode: host
77+
networks: !reset null
78+
profiles:
79+
- hitl

0 commit comments

Comments
 (0)